[CPU] Do not return error code from unimplemented overflows checks
Debug assertion and log message still appears
This commit is contained in:
@@ -179,7 +179,6 @@ int InstrEmit_addzex(PPCHIRBuilder& f, const InstrData& i) {
|
||||
// With XER[SO] update too.
|
||||
// e.update_xer_with_overflow_and_carry(b.CreateExtractValue(v, 1));
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
} else {
|
||||
// Just CA update.
|
||||
f.StoreCA(AddWithCarryDidCarry(f, ra, f.LoadZeroInt64(), f.LoadCA()));
|
||||
@@ -208,7 +207,6 @@ int InstrEmit_divdx(PPCHIRBuilder& f, const InstrData& i) {
|
||||
// If we are OE=1 we need to clear the overflow bit.
|
||||
// e.update_xer_with_overflow(e.get_uint64(0));
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
}
|
||||
if (i.XO.Rc) {
|
||||
f.UpdateCR(0, v);
|
||||
@@ -234,7 +232,6 @@ int InstrEmit_divdux(PPCHIRBuilder& f, const InstrData& i) {
|
||||
// If we are OE=1 we need to clear the overflow bit.
|
||||
// e.update_xer_with_overflow(e.get_uint64(0));
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
}
|
||||
if (i.XO.Rc) {
|
||||
f.UpdateCR(0, v);
|
||||
@@ -262,7 +259,6 @@ int InstrEmit_divwx(PPCHIRBuilder& f, const InstrData& i) {
|
||||
// If we are OE=1 we need to clear the overflow bit.
|
||||
// e.update_xer_with_overflow(e.get_uint64(0));
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
}
|
||||
if (i.XO.Rc) {
|
||||
f.UpdateCR(0, v);
|
||||
@@ -291,7 +287,6 @@ int InstrEmit_divwux(PPCHIRBuilder& f, const InstrData& i) {
|
||||
// If we are OE=1 we need to clear the overflow bit.
|
||||
// e.update_xer_with_overflow(e.get_uint64(0));
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
}
|
||||
if (i.XO.Rc) {
|
||||
f.UpdateCR(0, v);
|
||||
@@ -304,7 +299,6 @@ int InstrEmit_mulhdx(PPCHIRBuilder& f, const InstrData& i) {
|
||||
if (i.XO.OE) {
|
||||
// With XER update.
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
}
|
||||
Value* v = f.MulHi(f.LoadGPR(i.XO.RA), f.LoadGPR(i.XO.RB));
|
||||
f.StoreGPR(i.XO.RT, v);
|
||||
@@ -319,7 +313,6 @@ int InstrEmit_mulhdux(PPCHIRBuilder& f, const InstrData& i) {
|
||||
if (i.XO.OE) {
|
||||
// With XER update.
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
}
|
||||
Value* v =
|
||||
f.MulHi(f.LoadGPR(i.XO.RA), f.LoadGPR(i.XO.RB), ARITHMETIC_UNSIGNED);
|
||||
@@ -335,7 +328,6 @@ int InstrEmit_mulhwx(PPCHIRBuilder& f, const InstrData& i) {
|
||||
if (i.XO.OE) {
|
||||
// With XER update.
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
}
|
||||
Value* ratrunc =
|
||||
f.SignExtend(f.Truncate(f.LoadGPR(i.XO.RA), INT32_TYPE), INT64_TYPE);
|
||||
@@ -357,7 +349,6 @@ int InstrEmit_mulhwux(PPCHIRBuilder& f, const InstrData& i) {
|
||||
if (i.XO.OE) {
|
||||
// With XER update.
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
}
|
||||
|
||||
Value* ratrunc =
|
||||
@@ -379,7 +370,6 @@ int InstrEmit_mulldx(PPCHIRBuilder& f, const InstrData& i) {
|
||||
if (i.XO.OE) {
|
||||
// With XER update.
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
}
|
||||
Value* v = f.Mul(f.LoadGPR(i.XO.RA), f.LoadGPR(i.XO.RB));
|
||||
f.StoreGPR(i.XO.RT, v);
|
||||
@@ -402,7 +392,6 @@ int InstrEmit_mullwx(PPCHIRBuilder& f, const InstrData& i) {
|
||||
if (i.XO.OE) {
|
||||
// With XER update.
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
}
|
||||
Value* v = f.Mul(
|
||||
f.SignExtend(f.Truncate(f.LoadGPR(i.XO.RA), INT32_TYPE), INT64_TYPE),
|
||||
@@ -441,7 +430,6 @@ int InstrEmit_subfx(PPCHIRBuilder& f, const InstrData& i) {
|
||||
f.StoreGPR(i.XO.RT, v);
|
||||
if (i.XO.OE) {
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
// e.update_xer_with_overflow(EFLAGS??);
|
||||
}
|
||||
if (i.XO.Rc) {
|
||||
@@ -458,7 +446,6 @@ int InstrEmit_subfcx(PPCHIRBuilder& f, const InstrData& i) {
|
||||
f.StoreGPR(i.XO.RT, v);
|
||||
if (i.XO.OE) {
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
// e.update_xer_with_overflow(EFLAGS??);
|
||||
} else {
|
||||
f.StoreCA(SubDidCarry(f, rb, ra));
|
||||
@@ -486,7 +473,6 @@ int InstrEmit_subfex(PPCHIRBuilder& f, const InstrData& i) {
|
||||
f.StoreGPR(i.XO.RT, v);
|
||||
if (i.XO.OE) {
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
// e.update_xer_with_overflow_and_carry(b.CreateExtractValue(v, 1));
|
||||
} else {
|
||||
f.StoreCA(AddWithCarryDidCarry(f, not_ra, rb, f.LoadCA()));
|
||||
@@ -504,7 +490,6 @@ int InstrEmit_subfmex(PPCHIRBuilder& f, const InstrData& i) {
|
||||
f.StoreGPR(i.XO.RT, v);
|
||||
if (i.XO.OE) {
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
// e.update_xer_with_overflow_and_carry(b.CreateExtractValue(v, 1));
|
||||
} else {
|
||||
f.StoreCA(
|
||||
@@ -523,7 +508,6 @@ int InstrEmit_subfzex(PPCHIRBuilder& f, const InstrData& i) {
|
||||
f.StoreGPR(i.XO.RT, v);
|
||||
if (i.XO.OE) {
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
// e.update_xer_with_overflow_and_carry(b.CreateExtractValue(v, 1));
|
||||
} else {
|
||||
f.StoreCA(AddWithCarryDidCarry(f, not_ra, f.LoadZeroInt64(), f.LoadCA()));
|
||||
|
||||
Reference in New Issue
Block a user