From 01aebcb385fee39b426c6c4aa5cb466e56616e95 Mon Sep 17 00:00:00 2001 From: Tillmann Karras Date: Sat, 6 Aug 2016 05:21:29 +0100 Subject: [PATCH] Remove *MulHi wrappers --- src/frontend/ir/ir_emitter.cpp | 14 -------------- src/frontend/ir/ir_emitter.h | 2 -- 2 files changed, 16 deletions(-) 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);