Subtraction overflow was wrong way round on PowerPC

db4
sheeple 2008-11-30 06:08:16 -06:00
parent 5299f104e9
commit abc486c342
2 changed files with 5 additions and 5 deletions

View File

@ -194,7 +194,7 @@ M: ppc %not NOT ;
scratch-reg src2 src1 insn call
scratch-reg ds-reg 0 STW
"no-overflow" get BNO
src2 src1 move>args
src1 src2 move>args
%prepare-alien-invoke
func f %alien-invoke
"no-overflow" resolve-label ; inline
@ -208,7 +208,7 @@ M: ppc %not NOT ;
scratch-reg ds-reg 0 STW
BLR
"overflow" resolve-label
src2 src1 move>args
src1 src2 move>args
%prepare-alien-invoke
func f %alien-invoke-tail ;

View File

@ -18,12 +18,12 @@ add_overflow:
b MANGLE(overflow_fixnum_add)
DEF(void,primitive_fixnum_subtract,(void)):
lwz r3,0(DS_REG)
lwz r4,-4(DS_REG)
lwz r3,-4(DS_REG)
lwz r4,0(DS_REG)
subi DS_REG,DS_REG,4
li r0,0
mtxer r0
subfo. r5,r3,r4
subfo. r5,r4,r3
bso sub_overflow
stw r5,0(DS_REG)
blr