Fixing mullw.
This commit is contained in:
parent
431088d35e
commit
321e2663ef
|
@ -392,9 +392,9 @@ int InstrEmit_mullwx(PPCHIRBuilder& f, const InstrData& i) {
|
|||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
}
|
||||
Value* v = f.SignExtend(f.Mul(f.Truncate(f.LoadGPR(i.XO.RA), INT32_TYPE),
|
||||
f.Truncate(f.LoadGPR(i.XO.RB), INT32_TYPE)),
|
||||
INT64_TYPE);
|
||||
Value* v = f.Mul(
|
||||
f.SignExtend(f.Truncate(f.LoadGPR(i.XO.RA), INT32_TYPE), INT64_TYPE),
|
||||
f.SignExtend(f.Truncate(f.LoadGPR(i.XO.RB), INT32_TYPE), INT64_TYPE));
|
||||
f.StoreGPR(i.XO.RT, v);
|
||||
if (i.XO.Rc) {
|
||||
f.UpdateCR(0, v);
|
||||
|
|
|
@ -198,3 +198,12 @@ test_mullw_11_constant:
|
|||
#_ REGISTER_OUT r3 0x000000007FFFFFFF
|
||||
#_ REGISTER_OUT r4 1
|
||||
#_ REGISTER_OUT r5 0x000000007FFFFFFF
|
||||
|
||||
test_mullw_12:
|
||||
#_ REGISTER_IN r0 0x1
|
||||
#_ REGISTER_IN r8 0x0123456789ABCDEF
|
||||
mullw r0, r8, r8
|
||||
blr
|
||||
#_ REGISTER_OUT r0 0x36B1B9D890F2A521
|
||||
#_ REGISTER_OUT r8 0x0123456789ABCDEF
|
||||
blr
|
||||
|
|
Loading…
Reference in New Issue