RFR: 8291809: Convert compiler/c2/cr7200264/TestSSE2IntVect.java to IR verification test [v7]

Emanuel Peter epeter at openjdk.org
Mon Jan 29 10:20:40 UTC 2024


On Fri, 26 Jan 2024 18:28:02 GMT, Daniel Lundén <dlunden at openjdk.org> wrote:

>> This changeset translates the tests in `compiler/c2/cr7200264/` to use the IR verification framework.
>> 
>> The proposed translation, to the extent possible, preserves the semantics of the original test. A major difference is that the IR checks are now local (for every `test_*` method) instead of global. The execution time of the new test is comparable to the old test.
>> 
>> Testing:
>> - [GitHub Actions](https://github.com/dlunde/jdk/actions/runs/7671921417)
>> - Ran the new translated tests within all tier1 through tier10 contexts on windows-x64, linux-x64, linux-aarch64, macosx-x64, and macosx-aarch64.
>> - Tested that manually adding `-XX:LoopUnrollLimit=0` to the test framework flags caused the translated tests to fail. Note: it is, however, no longer possible to break the test by passing `-XX:LoopUnrollLimit=0` on the command line.
>
> Daniel Lundén has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Change preconditions for test_divc and test_divc_n

test/hotspot/jtreg/compiler/c2/cr7200264/TestIntVect.java line 547:

> 545:                    IRNode.VECTOR_SIZE + "min(max_int, max_long)", "> 0" },
> 546:         applyIfCPUFeature = {"sse2", "true"},
> 547:         applyIfAnd = {"UseAVX", ">= 2", "UseSSE", ">= 4"})

Looks like you should just require `avx2`, instead of `sse2`. Then you can drop the `UseAvx` and `UseSSE` flag checks.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17428#discussion_r1469371322


More information about the hotspot-compiler-dev mailing list