X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FTarget%2FSystemZ%2FSystemZOperands.td;h=0de50fde582b8ca76cc9639d30de0d7d504534f3;hb=09bc0298650c76db1a06e20ca84c1dcb34071600;hp=0ee48c3ebafbc13c1922303013e3ef406a475a6a;hpb=e50ed30282bb5b4a9ed952580523f2dda16215ac;p=oota-llvm.git diff --git a/lib/Target/SystemZ/SystemZOperands.td b/lib/Target/SystemZ/SystemZOperands.td index 0ee48c3ebaf..0de50fde582 100644 --- a/lib/Target/SystemZ/SystemZOperands.td +++ b/lib/Target/SystemZ/SystemZOperands.td @@ -67,6 +67,10 @@ def HI32 : SDNodeXFormgetZExtValue() >> 32); }]>; +def GetI64FromI32 : SDNodeXFormgetTargetConstant(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); }