RFR: 8346039: [BACKOUT] - [C1] LIR Operations with one input should be implemented as LIR_Op1

Vladimir Kozlov kvn at openjdk.org
Wed Dec 11 23:13:34 UTC 2024


On Wed, 11 Dec 2024 22:11:52 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:

>> Revert "8345609: [C1] LIR Operations with one input should be implemented as LIR_Op1"
>> 
>> This reverts commit a21d21f4d7b74e21f68b6bf9c5dc9ba7d3f9963c.
>> 
>> Testing tiers 1-3 in progress
>> 
>> Thanks
>
> Thanks for confirming!
> @vnkozlov: Regarding the redo: Do you think we can remove the separate case https://github.com/openjdk/jdk/blob/64fad1c7d374bbc635bad3b1fa7941379f39565f/src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp#L3802 and fall back to `xorps` in C1? That would simplify the code a lot and avoid an extra temp register and the preloading with `LIR_OprFact::floatConst(-0.0)`?

@TheRealMDoerr  I don't know simple answer for your question.

These checks were added after failures during testing changes for [JDK-821076](https://bugs.openjdk.org/browse/JDK-8210764) [diffs](https://github.com/openjdk/jdk/commit/092fe55fb10a979534cfd69eaa35546f3af11677#diff-144639248eb0a12e15e1e8d36dae1fdd5d6ad6948610f283c7c26a807b431a6eL3768)

Here is review of these changes: https://mail.openjdk.org/pipermail/hotspot-compiler-dev/2018-September/030629.html

The issue could be that we should avoid mixing encoding modes for AVX instructions (when C1 and C2 compiled methods call each other).

May be we should wait when @sviswa7 is back from vacation and get her answer to your question.

If it is not about mixing mode we can accept small performance issues since C1 generated code will be replaced with C2 generated.

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

PR Comment: https://git.openjdk.org/jdk/pull/22690#issuecomment-2537389097


More information about the hotspot-compiler-dev mailing list