RFR: 8282541: AArch64: Auto-vectorize Math.round API [v2]
Andrew Haley
aph at openjdk.java.net
Wed Apr 13 17:47:57 UTC 2022
On Wed, 13 Apr 2022 10:10:23 GMT, Nick Gasson <ngasson at openjdk.org> wrote:
>> Andrew Haley has updated the pull request incrementally with two additional commits since the last revision:
>>
>> - Merge branch 'JDK-8282541' of https://github.com/theRealAph/jdk into JDK-8282541
>> - Windows!
>
> src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 5198:
>
>> 5196: fcvtasd(dst, src);
>> 5197: // Test if src >= 0 || abs(src) >= 0x1.0p52
>> 5198: eor(rscratch1, rscratch1, 1ul << 63); // flip sign bit
>
> This doesn't compile on Windows AArch64:
>
>
> d:\a\jdk\jdk\jdk\src\hotspot\cpu\aarch64\macroAssembler_aarch64.cpp(5198): error C2220: the following warning is treated as an error
> d:\a\jdk\jdk\jdk\src\hotspot\cpu\aarch64\macroAssembler_aarch64.cpp(5198): warning C4293: '<<': shift count negative or too big, undefined behavior
>
>
> Windows is LLP64 isn't it? So you probably want 1ull or `UCONST64(1)` here.
Done.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8204
More information about the hotspot-dev
mailing list