Remove *MulHi wrappers

This commit is contained in:
Tillmann Karras 2016-08-06 05:21:29 +01:00
parent 5e047107a0
commit 01aebcb385
2 changed files with 0 additions and 16 deletions

View file

@ -216,20 +216,6 @@ IR::Value IREmitter::Mul64(const IR::Value& a, const IR::Value& b) {
return Inst(IR::Opcode::Mul64, {a, b}); return Inst(IR::Opcode::Mul64, {a, b});
} }
IR::Value IREmitter::SignedMulHi(const IR::Value& a, const IR::Value& b) {
auto a64 = ZeroExtendWordToLong(a);
auto b64 = ZeroExtendWordToLong(b);
auto product64 = Mul64(a64, b64);
return LogicalShiftRight(product64, Imm8(32), Imm8(0)).result;
}
IR::Value IREmitter::UnsignedMulHi(const IR::Value& a, const IR::Value& b) {
auto a64 = SignExtendWordToLong(a);
auto b64 = SignExtendWordToLong(b);
auto product64 = Mul64(a64, b64);
return LogicalShiftRight(product64, Imm8(32), Imm8(0)).result;
}
IR::Value IREmitter::And(const IR::Value& a, const IR::Value& b) { IR::Value IREmitter::And(const IR::Value& a, const IR::Value& b) {
return Inst(IR::Opcode::And, {a, b}); return Inst(IR::Opcode::And, {a, b});
} }

View file

@ -77,8 +77,6 @@ public:
IR::Value Sub(const IR::Value& a, const IR::Value& b); IR::Value Sub(const IR::Value& a, const IR::Value& b);
IR::Value Mul(const IR::Value& a, const IR::Value& b); IR::Value Mul(const IR::Value& a, const IR::Value& b);
IR::Value Mul64(const IR::Value& a, const IR::Value& b); IR::Value Mul64(const IR::Value& a, const IR::Value& b);
IR::Value SignedMulHi(const IR::Value& a, const IR::Value& b);
IR::Value UnsignedMulHi(const IR::Value& a, const IR::Value& b);
IR::Value And(const IR::Value& a, const IR::Value& b); IR::Value And(const IR::Value& a, const IR::Value& b);
IR::Value Eor(const IR::Value& a, const IR::Value& b); IR::Value Eor(const IR::Value& a, const IR::Value& b);
IR::Value Or(const IR::Value& a, const IR::Value& b); IR::Value Or(const IR::Value& a, const IR::Value& b);