Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8324874

AArch64: crypto pmull based CRC32/CRC32C intrinsics clobber V8-V15 registers

XMLWordPrintable

    • b09
    • aarch64

        JDK-8302113 and JDK-8302783 enhanced CRC32/CRC32C intrinsics with crypto pmull which is enabled for Neoverse V1 and V2. The intrinsics use `kernel_crc32_common_fold_using_crypto_pmull` which uses V8-V15 registers and potentially clobbers them if they are not saved.

        According to the latest “ABI for the Arm 64-bit Architecture with SVE support”: https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst

        "Registers v8-v15 must be preserved by a callee across subroutine calls; the remaining registers (v0-v7, v16-v31) do not need to be preserved (or should be preserved by the caller)."

              eastigeevich Evgeny Astigeevich
              eastigeevich Evgeny Astigeevich
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: