RFR: 8302681: [IR Framework] Only allow cpuFeatures from a verified list [v3]
Emanuel Peter
epeter at openjdk.org
Tue Feb 21 12:06:11 UTC 2023
> Wrongly typed cpuFeatures can lead to an IR rule being ignored.
> Example: https://github.com/openjdk/jdk/pull/12601 [JDK-8302668](https://bugs.openjdk.org/browse/JDK-8302668)
>
> We should have a list of verified cpuFeatures, and assert if one is used that is not in that list. That way, typos and bad copies can be avoided, and we make sure the tests run when intended.
>
> I verified the `intel` cpuFeatures by hand on my laptop. And for `asimd` and `sve` I asked @tobiasholenstein and @nick-arm .
>
> `sve1` seems to have been a typo, and I am changing it to `sve`.
>
> Note: cpu-features can be displayed like this: `./java -Xlog:os+cpu --version`
>
> On my machine, I get:
>
> cmov, fxsr, ht, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, tscinvbit, avx, avx2, aes, erms, clmul, bmi1, bmi2, adx, avx512f, avx512dq, avx512cd, avx512bw, avx512vl, sha, fma, vzeroupper, avx512_vpopcntdq, avx512_vpclmulqdq, avx512_vaes, avx512_vnni, clflush, clflushopt, clwb, avx512_vbmi2, avx512_vbmi, rdtscp, rdpid, fsrm, gfni, avx512_bitalg, f16c, pku, ospke, cet_ibt, cet_ss, avx512_ifma
>
>
> @nick-arm got this on one of his machines:
>
> fp, asimd, evtstrm, aes, pmull, sha1, sha256, crc32, lse, dcpop, sha3, sha512, sve, paca
>
>
> @tobiasholenstein got this:
>
> fp, asimd, aes, pmull, sha1, sha256, crc32, lse, sha3, sha512
>
>
> I had to adapt a test that used a non-existent cpu feature. I replaced it with an impossible combination.
Emanuel Peter has updated the pull request incrementally with two additional commits since the last revision:
- add comment
- modified test that used non-existent cpu feature
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/12669/files
- new: https://git.openjdk.org/jdk/pull/12669/files/1196e970..3d836fbd
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=12669&range=02
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=12669&range=01-02
Stats: 6 lines in 2 files changed: 2 ins; 0 del; 4 mod
Patch: https://git.openjdk.org/jdk/pull/12669.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/12669/head:pull/12669
PR: https://git.openjdk.org/jdk/pull/12669
More information about the hotspot-compiler-dev
mailing list