[aarch64-port-dev ] RFR(S): 8210461 - AArch64: Math.cos intrinsic gives incorrect results

Dmitrij Pochepko dmitrij.pochepko at bell-sw.com
Fri Sep 7 13:40:23 UTC 2018


Hi,

please review small fix for 8210461 - AArch64: Math.cos intrinsic gives 
incorrect results

Large argument reduction code has a bug in one of code branches.

C-code: of affected place:

iq[jz] = (int)(z-two24B*fw);

with bug it was calculated as iq[jz] = (int)(z+two24B*fw);  // by fmadd 
instruction

Fix is to change it into fmsub instruction for correct calculation.

I also re-parsed most of code in search of same errors. Seems like no 
other issues found.


This bug wasn't caught by jtreg and jck tests, so I added separate small 
test for such case.

webrev: http://cr.openjdk.java.net/~dpochepk/8210461/webrev.01/

CR: https://bugs.openjdk.java.net/browse/JDK-8210461

Testing: I tested this patch via new and old tests. All passed. I also 
ran this new test on x86.


This patch should be pushed into jdk12 and backported into jdk11.


Thanks,

Dmitrij




More information about the aarch64-port-dev mailing list