Expand pseudo/macro BteqzT8SltuX16 . There is no test case because
authorReed Kotler <rkotler@mips.com>
Mon, 18 Feb 2013 04:55:38 +0000 (04:55 +0000)
committerReed Kotler <rkotler@mips.com>
Mon, 18 Feb 2013 04:55:38 +0000 (04:55 +0000)
at this time, llvm is generating a different but equivalent pattern
that would lead to this instruction. I am trying to think of a way
to get it to generate this. If I can't, I may just remove the pseudo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175419 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Mips/Mips16InstrInfo.cpp
lib/Target/Mips/Mips16InstrInfo.td

index ba1002ed4cad22f959fd0f4beed731648eca96d1..e0277ff5a00d19d2d2111a0b7debb3b4893b7b7c 100644 (file)
@@ -142,6 +142,11 @@ bool Mips16InstrInfo::expandPostRAPseudo(MachineBasicBlock::iterator MI) const {
   case Mips::BteqzT8SltX16:
     ExpandFEXT_T8I816_ins(MBB, MI, Mips::BteqzX16, Mips::SltRxRy16);
     break;
+  case Mips::BteqzT8SltuX16:
+    // TBD: figure out a way to get this or remove the instruction
+    // altogether.
+    ExpandFEXT_T8I816_ins(MBB, MI, Mips::BteqzX16, Mips::SltuRxRy16);
+    break;
   case Mips::BtnezT8CmpX16:
     ExpandFEXT_T8I816_ins(MBB, MI, Mips::BtnezX16, Mips::CmpRxRy16);
     break;
index 2ab7b477245fda89053a72f7040fdcd9db01bd2f..c7adce3a5ba8e490bc5d59454ce57fd486439458 100644 (file)
@@ -1012,6 +1012,8 @@ def SltCCRxRy16: FCCRR16_ins<"slt">;
 // Purpose: Set on Less Than Unsigned
 // To record the result of an unsigned less-than comparison.
 //
+def SltuRxRy16: FRR16_ins<0b00011, "sltu", IIAlu>;
+
 def SltuRxRyRz16: FRRTR16_ins<"sltu"> {
   let isCodeGenOnly=1;
 }