Replace the tablegen RegisterClass field SubRegClassList with an alist-like data
[oota-llvm.git] / lib / Target / SystemZ / SystemZOperands.td
index 0ee48c3ebafbc13c1922303013e3ef406a475a6a..0de50fde582b8ca76cc9639d30de0d7d504534f3 100644 (file)
@@ -67,6 +67,10 @@ def HI32 : SDNodeXForm<imm, [{
   return getI32Imm(N->getZExtValue() >> 32);
 }]>;
 
+def GetI64FromI32 : SDNodeXForm<imm, [{
+  return CurDAG->getTargetConstant(N->getSExtValue(), MVT::i64);
+}]>;
+
 def i32ll16 : PatLeaf<(i32 imm), [{
   // i32ll16 predicate - true if the 32-bit immediate has only rightmost 16
   // bits set.
@@ -134,10 +138,10 @@ def i64hh16c : PatLeaf<(i64 imm), [{
 def immSExt16 : PatLeaf<(imm), [{
   // immSExt16 predicate - true if the immediate fits in a 16-bit sign extended
   // field.
-  if (N->getValueType(0) == EVT::i64) {
+  if (N->getValueType(0) == MVT::i64) {
     uint64_t val = N->getZExtValue();
     return ((int64_t)val == (int16_t)val);
-  } else if (N->getValueType(0) == EVT::i32) {
+  } else if (N->getValueType(0) == MVT::i32) {
     uint32_t val = N->getZExtValue();
     return ((int32_t)val == (int16_t)val);
   }