#4476 #4461: Fix a bug related to float comparison.

Thu, 25 Aug 2016 14:46:18 +0800

author
aoqi
date
Thu, 25 Aug 2016 14:46:18 +0800
changeset 85
639a41524c05
parent 84
9f35e77e4330
child 86
15380261070f

#4476 #4461: Fix a bug related to float comparison.
The bug was found in jdk6-32, and the same bug exists in jdk8.
This fix is similar to changeset 91. See changeset 91 for more information.

src/cpu/mips/vm/mips_64.ad file | annotate | diff | comparison | revisions
     1.1 --- a/src/cpu/mips/vm/mips_64.ad	Thu Aug 18 15:57:28 2016 +0800
     1.2 +++ b/src/cpu/mips/vm/mips_64.ad	Thu Aug 25 14:46:18 2016 +0800
     1.3 @@ -6532,7 +6532,7 @@
     1.4                  __ bc1t((int)0);
     1.5          break;
     1.6        case 0x02: //not_equal
     1.7 -        __ c_ueq_s(reg_op1, reg_op2);
     1.8 +        __ c_eq_s(reg_op1, reg_op2);
     1.9  	if (&L)
    1.10                  __ bc1f(L);
    1.11  	else
    1.12 @@ -8082,7 +8082,7 @@
    1.13      switch(flag)
    1.14      {
    1.15        case 0x01: //equal
    1.16 -        __ c_ueq_s(reg_op1, reg_op2);
    1.17 +        __ c_eq_s(reg_op1, reg_op2);
    1.18          __ movt(dst, src);
    1.19          break;
    1.20        case 0x02: //not_equal
    1.21 @@ -8131,7 +8131,7 @@
    1.22      switch(flag)
    1.23      {
    1.24        case 0x01: //equal
    1.25 -        __ c_ueq_s(reg_op1, reg_op2);
    1.26 +        __ c_eq_s(reg_op1, reg_op2);
    1.27          __ bc1f(L);
    1.28          __ nop();
    1.29          __ mov_s(dst, src);

mercurial