diff options
author | Mike Pall <mike> | 2010-09-16 02:09:19 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2010-09-16 02:09:19 +0200 |
commit | 4f1d43d03e26f835464b20ba28314e8e89044702 (patch) | |
tree | 77d7a75a32ccd3e1964cdf7dce33fd54e37df5d3 | |
parent | 028f80c599b558787b1b7098405690b20140d25e (diff) | |
download | luajit-4f1d43d03e26f835464b20ba28314e8e89044702.tar.gz luajit-4f1d43d03e26f835464b20ba28314e8e89044702.tar.bz2 luajit-4f1d43d03e26f835464b20ba28314e8e89044702.zip |
PPC: Fix ordered comparisons for NaN operands.
-rw-r--r-- | src/buildvm_ppc.dasc | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/buildvm_ppc.dasc b/src/buildvm_ppc.dasc index 699056f6..652b38a3 100644 --- a/src/buildvm_ppc.dasc +++ b/src/buildvm_ppc.dasc | |||
@@ -1207,18 +1207,18 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
1207 | | addi PC, PC, 4 | 1207 | | addi PC, PC, 4 |
1208 | | evlddx TMP1, BASE, RD | 1208 | | evlddx TMP1, BASE, RD |
1209 | | addis TMP3, PC, -(BCBIAS_J*4 >> 16) | 1209 | | addis TMP3, PC, -(BCBIAS_J*4 >> 16) |
1210 | | lwz INS, -4(PC) | 1210 | | lwz TMP2, -4(PC) |
1211 | | evmergehi RB, TMP0, TMP1 | 1211 | | evmergehi RB, TMP0, TMP1 |
1212 | | decode_RD4 TMP2, INS | 1212 | | decode_RD4 TMP2, TMP2 |
1213 | | checknum RB | 1213 | | checknum RB |
1214 | | add TMP2, TMP2, TMP3 | 1214 | | add TMP2, TMP2, TMP3 |
1215 | | checkanyfail ->vmeta_comp | 1215 | | checkanyfail ->vmeta_comp |
1216 | if (op == BC_ISLT || op == BC_ISGE) { | 1216 | | efdcmplt TMP0, TMP1 |
1217 | | efdcmplt TMP0, TMP1 | 1217 | if (op == BC_ISLE || op == BC_ISGT) { |
1218 | } else { | 1218 | | efdcmpeq cr1, TMP0, TMP1 |
1219 | | efdcmpgt TMP0, TMP1 | 1219 | | cror 4*cr0+gt, 4*cr0+gt, 4*cr1+gt |
1220 | } | 1220 | } |
1221 | if (op == BC_ISLT || op == BC_ISGT) { | 1221 | if (op == BC_ISLT || op == BC_ISLE) { |
1222 | | iselgt PC, TMP2, PC | 1222 | | iselgt PC, TMP2, PC |
1223 | } else { | 1223 | } else { |
1224 | | iselgt PC, PC, TMP2 | 1224 | | iselgt PC, PC, TMP2 |