Lines Matching refs:Imm

112   inline unsigned getSORegOpc(ShiftOpc ShOp, unsigned Imm) {  in getSORegOpc()  argument
113 return ShOp | (Imm << 3); in getSORegOpc()
120 inline unsigned getSOImmValImm(unsigned Imm) { return Imm & 0xFF; } in getSOImmValImm() argument
123 inline unsigned getSOImmValRot(unsigned Imm) { return (Imm >> 8) * 2; } in getSOImmValRot() argument
129 inline unsigned getSOImmValRotate(unsigned Imm) { in getSOImmValRotate() argument
132 if ((Imm & ~255U) == 0) return 0; in getSOImmValRotate()
135 unsigned TZ = countTrailingZeros(Imm); in getSOImmValRotate()
142 if ((rotr32(Imm, RotAmt) & ~255U) == 0) in getSOImmValRotate()
147 if (Imm & 63U) { in getSOImmValRotate()
148 unsigned TZ2 = countTrailingZeros(Imm & ~63U); in getSOImmValRotate()
150 if ((rotr32(Imm, RotAmt2) & ~255U) == 0) in getSOImmValRotate()
224 inline unsigned getThumbImmValShift(unsigned Imm) { in getThumbImmValShift() argument
227 if ((Imm & ~255U) == 0) return 0; in getThumbImmValShift()
230 return countTrailingZeros(Imm); in getThumbImmValShift()
243 inline unsigned getThumbImm16ValShift(unsigned Imm) { in getThumbImm16ValShift() argument
246 if ((Imm & ~65535U) == 0) return 0; in getThumbImm16ValShift()
249 return countTrailingZeros(Imm); in getThumbImm16ValShift()
277 unsigned u, Vs, Imm; in getT2SOImmValSplatVal() local
285 Imm = Vs & 0xff; in getT2SOImmValSplatVal()
287 u = Imm | (Imm << 16); in getT2SOImmValSplatVal()
291 return (((Vs == V) ? 1 : 2) << 8) | Imm; in getT2SOImmValSplatVal()
295 return (3 << 8) | Imm; in getT2SOImmValSplatVal()
341 inline bool isT2SOImmTwoPartVal(unsigned Imm) { in isT2SOImmTwoPartVal() argument
342 unsigned V = Imm; in isT2SOImmTwoPartVal()
356 V = Imm; in isT2SOImmTwoPartVal()
368 inline unsigned getT2SOImmTwoPartFirst(unsigned Imm) { in getT2SOImmTwoPartFirst() argument
369 assert (isT2SOImmTwoPartVal(Imm) && in getT2SOImmTwoPartFirst()
372 unsigned V = rotr32 (~255, getT2SOImmValRotate(Imm)) & Imm; in getT2SOImmTwoPartFirst()
377 if (getT2SOImmValSplatVal(Imm & 0xff00ff00U) != -1) in getT2SOImmTwoPartFirst()
378 return Imm & 0xff00ff00U; in getT2SOImmTwoPartFirst()
381 assert (getT2SOImmValSplatVal(Imm & 0x00ff00ffU) != -1); in getT2SOImmTwoPartFirst()
382 return Imm & 0x00ff00ffU; in getT2SOImmTwoPartFirst()
385 inline unsigned getT2SOImmTwoPartSecond(unsigned Imm) { in getT2SOImmTwoPartSecond() argument
387 Imm ^= getT2SOImmTwoPartFirst(Imm); in getT2SOImmTwoPartSecond()
389 assert (getT2SOImmVal(Imm) != -1 && in getT2SOImmTwoPartSecond()
391 return Imm; in getT2SOImmTwoPartSecond()
644 inline float getFPImmFloat(unsigned Imm) { in getFPImmFloat() argument
647 uint8_t Sign = (Imm >> 7) & 0x1; in getFPImmFloat()
648 uint8_t Exp = (Imm >> 4) & 0x7; in getFPImmFloat()
649 uint8_t Mantissa = Imm & 0xf; in getFPImmFloat()
667 inline int getFP16Imm(const APInt &Imm) { in getFP16Imm() argument
668 uint32_t Sign = Imm.lshr(15).getZExtValue() & 1; in getFP16Imm()
669 int32_t Exp = (Imm.lshr(10).getSExtValue() & 0x1f) - 15; // -14 to 15 in getFP16Imm()
670 int64_t Mantissa = Imm.getZExtValue() & 0x3ff; // 10 bits in getFP16Imm()
692 inline int getFP32FP16Imm(const APInt &Imm) { in getFP32FP16Imm() argument
693 if (Imm.getActiveBits() > 16) in getFP32FP16Imm()
695 return ARM_AM::getFP16Imm(Imm.trunc(16)); in getFP32FP16Imm()
705 inline int getFP32Imm(const APInt &Imm) { in getFP32Imm() argument
706 uint32_t Sign = Imm.lshr(31).getZExtValue() & 1; in getFP32Imm()
707 int32_t Exp = (Imm.lshr(23).getSExtValue() & 0xff) - 127; // -126 to 127 in getFP32Imm()
708 int64_t Mantissa = Imm.getZExtValue() & 0x7fffff; // 23 bits in getFP32Imm()
733 inline int getFP64Imm(const APInt &Imm) { in getFP64Imm() argument
734 uint64_t Sign = Imm.lshr(63).getZExtValue() & 1; in getFP64Imm()
735 int64_t Exp = (Imm.lshr(52).getSExtValue() & 0x7ff) - 1023; // -1022 to 1023 in getFP64Imm()
736 uint64_t Mantissa = Imm.getZExtValue() & 0xfffffffffffffULL; in getFP64Imm()