RFR: 8354473: Incorrect results for compress/expand tests with -XX:+EnableX86ECoreOpts
Volodymyr Paprotski
vpaprotski at openjdk.org
Wed Apr 23 16:24:40 UTC 2025
On Wed, 23 Apr 2025 10:37:17 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
> @vpaprotsk Can you please give a little more details about what exactly went wrong here, and why your change is correct?
@eme64 Thanks for looking. Point form in attempt to be concise:
- Jatin brought this to my attention, we weren't sure whose code was at fault (i.e. I wrote the blend emulation, he wrote the compress_expand) and I got to the investigation first (i.e. see https://bugs.openjdk.org/browse/JDK-8354473)
- The mask for vblendvps instruction; actual instruction only cares about the MSB but for emulation we must have the mask to be either `FFF..FF` or `000..00`. In many places blend is used, this is already the case, so no need to recompute the mask. That's why the flag is provided (i.e. optimization).
- (Without fully understanding the entirety of compress_expand), it appears to me that in this function the mask in `permv` _must_ be computed explicitly. That's why the flag is changed.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/24645#issuecomment-2824849699
More information about the hotspot-compiler-dev
mailing list