[jdk11u-dev] RFR: 8307572: AArch64: Vector registers are clobbered by some macroassemblers [v2]
Ningsheng Jian
njian at openjdk.org
Wed Jul 12 02:57: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 jdk11u 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.
Ningsheng Jian has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision:
- Merge 'origin/jdk11u-dev' into jdk11u-8307572-backport to trigger GHA
- Backport 33d9a857308eed53e06b448691910bc8aa2f8fc9
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.
-------------
Changes:
- all: https://git.openjdk.org/jdk11u-dev/pull/2032/files
- new: https://git.openjdk.org/jdk11u-dev/pull/2032/files/9940bbd6..575dfffe
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk11u-dev&pr=2032&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk11u-dev&pr=2032&range=00-01
Stats: 818 lines in 11 files changed: 815 ins; 1 del; 2 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