RFR: 8323115: x86-32: Incorrect predicates for cmov instruct transforms with UseSSE [v2]

Kim Barrett kbarrett at openjdk.org
Tue Jan 9 22:36:51 UTC 2024


On Mon, 8 Jan 2024 12:11:11 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> The fix looks good to me but it's concerning that we never hit this in testing. Maybe it never fails because the expanded instructions are guarded by `predicate (UseSSE ...` as well.
>
>> The fix looks good to me but it's concerning that we never hit this in testing. Maybe it never fails because the expanded instructions are guarded by `predicate (UseSSE ...` as well.
> 
> In my experience fixing bugs in these FPU-related match rules is that it takes a combination of code shape and relevant hardware (that defaults for unusual `UseSSE <= 2`), or specific testing that runs with lower `UseSSE`. I think I was one of the few remaining people who ran x86_32 with `-XX:UseSSE=0`, for example, but finally stopped. I think going forward we would just need to require `UseSSE >= 2` for x86_32, like for x86_64, making these issues go away.

Thanks for reviews, @shipilev and @TobiHartmann .

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

PR Comment: https://git.openjdk.org/jdk/pull/17296#issuecomment-1883903590


More information about the hotspot-compiler-dev mailing list