Fixing subfme.
This commit is contained in:
@@ -466,8 +466,9 @@ XEEMITTER(subfex, 0x7C000110, XO)(PPCHIRBuilder& f, InstrData& i) {
|
||||
|
||||
XEEMITTER(subfmex, 0x7C0001D0, XO)(PPCHIRBuilder& f, InstrData& i) {
|
||||
// RT <- ¬(RA) + CA - 1
|
||||
Value* v = f.AddWithCarry(f.Not(f.LoadGPR(i.XO.RA)),
|
||||
f.LoadConstant((int64_t)-1), f.LoadCA());
|
||||
Value* v =
|
||||
f.AddWithCarry(f.Not(f.LoadGPR(i.XO.RA)), f.LoadConstant((int64_t)-1),
|
||||
f.LoadCA(), ARITHMETIC_SET_CARRY);
|
||||
if (i.XO.OE) {
|
||||
assert_always();
|
||||
// e.update_xer_with_overflow_and_carry(b.CreateExtractValue(v, 1));
|
||||
|
||||
@@ -55,7 +55,7 @@ test_subfme_zero_ca_1:
|
||||
blr
|
||||
#_ REGISTER_OUT r10 0x00000000000103BF
|
||||
#_ REGISTER_OUT r3 0xfffffffffffefc3f
|
||||
#_ REGISTER_OUT r4 0
|
||||
#_ REGISTER_OUT r4 1
|
||||
|
||||
test_subfme_zero_ca_2:
|
||||
#_ REGISTER_IN r10 0
|
||||
@@ -66,7 +66,7 @@ test_subfme_zero_ca_2:
|
||||
blr
|
||||
#_ REGISTER_OUT r10 0
|
||||
#_ REGISTER_OUT r3 0xfffffffffffffffe
|
||||
#_ REGISTER_OUT r4 0
|
||||
#_ REGISTER_OUT r4 1
|
||||
|
||||
test_subfme_zero_ca_3:
|
||||
#_ REGISTER_IN r10 1
|
||||
@@ -77,7 +77,7 @@ test_subfme_zero_ca_3:
|
||||
blr
|
||||
#_ REGISTER_OUT r10 1
|
||||
#_ REGISTER_OUT r3 0xfffffffffffffffd
|
||||
#_ REGISTER_OUT r4 0
|
||||
#_ REGISTER_OUT r4 1
|
||||
|
||||
test_subfme_zero_ca_4:
|
||||
#_ REGISTER_IN r10 0xFFFFFFFFFFFFFFFF
|
||||
|
||||
Reference in New Issue
Block a user