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

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

    XMLWordPrintable

Details

    • b09
    • aarch64

    Backports

      Description

        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)."

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                  Created:
                  Updated:
                  Resolved: