RFR: 8346039: [BACKOUT] - [C1] LIR Operations with one input should be implemented as LIR_Op1
Quan Anh Mai
qamai at openjdk.org
Thu Dec 12 02:55:44 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 have not looked too closely at your change, but from the error messages I guess the failure may be due to the fact that input operands are not required to live during the node, while temp operands live only during the node. As a result, they may be assigned the same register by the allocator, which is not correct for some of the nodes here.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/22690#issuecomment-2537679958
More information about the hotspot-compiler-dev
mailing list