[llvm-commits] CVS: llvm/lib/Target/Sparc/SparcInstrSelectionSupport.h
Misha Brukman
brukman at cs.uiuc.edu
Mon Jun 2 22:24:01 PDT 2003
Changes in directory llvm/lib/Target/Sparc:
SparcInstrSelectionSupport.h updated: 1.8 -> 1.9
---
Log message:
Added opcode conversion for conditional move of integers.
---
Diffs of the changes:
Index: llvm/lib/Target/Sparc/SparcInstrSelectionSupport.h
diff -u llvm/lib/Target/Sparc/SparcInstrSelectionSupport.h:1.8 llvm/lib/Target/Sparc/SparcInstrSelectionSupport.h:1.9
--- llvm/lib/Target/Sparc/SparcInstrSelectionSupport.h:1.8 Fri May 30 15:11:56 2003
+++ llvm/lib/Target/Sparc/SparcInstrSelectionSupport.h Mon Jun 2 22:23:35 2003
@@ -117,6 +117,51 @@
case V9::SRLXr6: return V9::SRLXi6;
case V9::SRAXr6: return V9::SRAXi6;
+ /* Conditional move on int comparison with zero */
+ case V9::MOVRZr: return V9::MOVRZi;
+ case V9::MOVRLEZr: return V9::MOVRLEZi;
+ case V9::MOVRLZr: return V9::MOVRLZi;
+ case V9::MOVRNZr: return V9::MOVRNZi;
+ case V9::MOVRGZr: return V9::MOVRGZi;
+ case V9::MOVRGEZr: return V9::MOVRGEZi;
+
+
+ /* Conditional move on int condition code */
+ case V9::MOVAr: return V9::MOVAi;
+ case V9::MOVNr: return V9::MOVNi;
+ case V9::MOVNEr: return V9::MOVNEi;
+ case V9::MOVEr: return V9::MOVEi;
+ case V9::MOVGr: return V9::MOVGi;
+ case V9::MOVLEr: return V9::MOVLEi;
+ case V9::MOVGEr: return V9::MOVGEi;
+ case V9::MOVLr: return V9::MOVLi;
+ case V9::MOVGUr: return V9::MOVGUi;
+ case V9::MOVLEUr: return V9::MOVLEUi;
+ case V9::MOVCCr: return V9::MOVCCi;
+ case V9::MOVCSr: return V9::MOVCSi;
+ case V9::MOVPOSr: return V9::MOVPOSi;
+ case V9::MOVNEGr: return V9::MOVNEGi;
+ case V9::MOVVCr: return V9::MOVVCi;
+ case V9::MOVVSr: return V9::MOVVSi;
+
+ /* Conditional move of int reg on fp condition code */
+ case V9::MOVFAr: return V9::MOVFAi;
+ case V9::MOVFNr: return V9::MOVFNi;
+ case V9::MOVFUr: return V9::MOVFUi;
+ case V9::MOVFGr: return V9::MOVFGi;
+ case V9::MOVFUGr: return V9::MOVFUGi;
+ case V9::MOVFLr: return V9::MOVFLi;
+ case V9::MOVFULr: return V9::MOVFULi;
+ case V9::MOVFLGr: return V9::MOVFLGi;
+ case V9::MOVFNEr: return V9::MOVFNEi;
+ case V9::MOVFEr: return V9::MOVFEi;
+ case V9::MOVFUEr: return V9::MOVFUEi;
+ case V9::MOVFGEr: return V9::MOVFGEi;
+ case V9::MOVFUGEr: return V9::MOVFUGEi;
+ case V9::MOVFLEr: return V9::MOVFLEi;
+ case V9::MOVFULEr: return V9::MOVFULEi;
+ case V9::MOVFOr: return V9::MOVFOi;
+
/* load */
case V9::LDSBr: return V9::LDSBi;
case V9::LDSHr: return V9::LDSHi;
@@ -152,6 +197,11 @@
default:
// It's already in correct format
+ // Or, it's just not handled yet, but an assert() would break LLC
+#if 0
+ std::cerr << "Unhandled opcode in convertOpcodeFromRegToImm(): " << Opcode
+ << "\n";
+#endif
return Opcode;
}
}
More information about the llvm-commits
mailing list