[jdk11u-dev] RFR: 8307572: AArch64: Vector registers are clobbered by some macroassemblers

Ningsheng Jian njian at openjdk.org
Mon Jul 10 10:36:51 UTC 2023


jdk11 also has the bug of JDK-8307572, so I propose to backport the fix to jdk11u. This is not a clean backport. Main changes:

1) Definition of reg_class v4_reg..v7_reg, and operand vRegD_V4..vRegD_V7 are missing in jdk11u aarch64.ad, which was introduced in JDK-8214527. Added those definitions in this patch, as we need to claim them to be killed in match rules.

2) JDK-8274243 (not a valid backport for 11u) changed MacroAssembler::encode_iso_array() a lot, but the bug of invalid use of v4/v5 still exists before and after that patch. Fixed the conflicts by using 11u naming convention.

No new jtreg test failure with both release and fastdebug build. Test case added in JDK-8307572 passes now, which fails without the backport.

-------------

Commit messages:
 - Backport 33d9a857308eed53e06b448691910bc8aa2f8fc9

Changes: https://git.openjdk.org/jdk11u-dev/pull/2032/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk11u-dev&pr=2032&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8307572
  Stats: 449 lines in 5 files changed: 392 ins; 0 del; 57 mod
  Patch: https://git.openjdk.org/jdk11u-dev/pull/2032.diff
  Fetch: git fetch https://git.openjdk.org/jdk11u-dev.git pull/2032/head:pull/2032

PR: https://git.openjdk.org/jdk11u-dev/pull/2032


More information about the jdk-updates-dev mailing list