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