From bd4ff65a601895ba816623cddb36ce466cceabe6 Mon Sep 17 00:00:00 2001 From: Tobias Hieta Date: Tue, 17 Sep 2024 09:39:01 +0200 Subject: [PATCH] Revert "[LoongArch] Eliminate the redundant sign extension of division (#107971)" This reverts commit d752f29fb333d47724484e08b32d6499cc1e460e. --- llvm/lib/Target/LoongArch/LoongArchOptWInstrs.cpp | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/llvm/lib/Target/LoongArch/LoongArchOptWInstrs.cpp b/llvm/lib/Target/LoongArch/LoongArchOptWInstrs.cpp index ab90409fdf47d0..abac69054f3b91 100644 --- a/llvm/lib/Target/LoongArch/LoongArchOptWInstrs.cpp +++ b/llvm/lib/Target/LoongArch/LoongArchOptWInstrs.cpp @@ -637,19 +637,6 @@ static bool isSignExtendedW(Register SrcReg, const LoongArchSubtarget &ST, break; } return false; - // If all incoming values are sign-extended and all users only use - // the lower 32 bits, then convert them to W versions. - case LoongArch::DIV_D: { - if (!AddRegToWorkList(MI->getOperand(1).getReg())) - return false; - if (!AddRegToWorkList(MI->getOperand(2).getReg())) - return false; - if (hasAllWUsers(*MI, ST, MRI)) { - FixableDef.insert(MI); - break; - } - return false; - } } } @@ -664,8 +651,6 @@ static unsigned getWOp(unsigned Opcode) { return LoongArch::ADDI_W; case LoongArch::ADD_D: return LoongArch::ADD_W; - case LoongArch::DIV_D: - return LoongArch::DIV_W; case LoongArch::LD_D: case LoongArch::LD_WU: return LoongArch::LD_W;