diff --git a/src/frontend/ir/ir_emitter.cpp b/src/frontend/ir/ir_emitter.cpp index f472679b..f00345af 100644 --- a/src/frontend/ir/ir_emitter.cpp +++ b/src/frontend/ir/ir_emitter.cpp @@ -216,20 +216,6 @@ IR::Value IREmitter::Mul64(const IR::Value& a, const IR::Value& 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) { return Inst(IR::Opcode::And, {a, b}); } diff --git a/src/frontend/ir/ir_emitter.h b/src/frontend/ir/ir_emitter.h index b102cf6e..506a70e7 100644 --- a/src/frontend/ir/ir_emitter.h +++ b/src/frontend/ir/ir_emitter.h @@ -77,8 +77,6 @@ public: IR::Value Sub(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 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 Eor(const IR::Value& a, const IR::Value& b); IR::Value Or(const IR::Value& a, const IR::Value& b);