RFR: 8344355: Register corruption in MacroAssembler::lookup_secondary_supers_table_var: x86-64 only [v2]

Vladimir Ivanov vlivanov at openjdk.org
Wed Nov 27 20:01:43 UTC 2024


On Wed, 27 Nov 2024 10:10:41 GMT, Andrew Haley <aph at openjdk.org> wrote:

>> Doesn't `-XX:UseSSE=2` achieve exactly that on x86-64?
>
>> Doesn't `-XX:UseSSE=2` achieve exactly that on x86-64?
> 
> Mmm, but x86 so many overlapping architecture changes over the years it's impossible to test every combination of them.
> 
> What would be good, though, would be to run tests on whatever the minimum architecture is that we support. I don't think we have any equivalent of  what GCC calls -march=x86-64, "a generic CPU with 64-bit extensions", but it looks like -XX:UseSSE=2 means Opteron aka k8, which "supersets MMX, SSE, SSE2, 3DNow!, and enhanced 3DNow!" and is our minimum CPU.

It's definitely not ideal. And the main limitation of VM flag-only solution is that it can't catch bugs when unsupported instructions are issued (ISA capability checks being too lax). So, can't fully substitute testing on a real hardware, but getting pretty close IMO.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22365#discussion_r1861188293


More information about the hotspot-dev mailing list