• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/llvmCore-3425.0.34/lib/Target/ARM/MCTargetDesc/

Lines Matching defs:Imm

112   static inline unsigned getSORegOpc(ShiftOpc ShOp, unsigned Imm) {
113 return ShOp | (Imm << 3);
124 static inline unsigned getSOImmValImm(unsigned Imm) {
125 return Imm & 0xFF;
129 static inline unsigned getSOImmValRot(unsigned Imm) {
130 return (Imm >> 8) * 2;
133 /// getSOImmValRotate - Try to handle Imm with an immediate shifter operand,
137 static inline unsigned getSOImmValRotate(unsigned Imm) {
140 if ((Imm & ~255U) == 0) return 0;
143 unsigned TZ = CountTrailingZeros_32(Imm);
150 if ((rotr32(Imm, RotAmt) & ~255U) == 0)
155 if (Imm & 63U) {
156 unsigned TZ2 = CountTrailingZeros_32(Imm & ~63U);
158 if ((rotr32(Imm, RotAmt2) & ~255U) == 0)
216 /// getThumbImmValShift - Try to handle Imm with a 8-bit immediate followed
218 static inline unsigned getThumbImmValShift(unsigned Imm) {
221 if ((Imm & ~255U) == 0) return 0;
224 return CountTrailingZeros_32(Imm);
235 /// getThumbImm16ValShift - Try to handle Imm with a 16-bit immediate followed
237 static inline unsigned getThumbImm16ValShift(unsigned Imm) {
240 if ((Imm & ~65535U) == 0) return 0;
243 return CountTrailingZeros_32(Imm);
271 unsigned u, Vs, Imm;
279 Imm = Vs & 0xff;
281 u = Imm | (Imm << 16);
285 return (((Vs == V) ? 1 : 2) << 8) | Imm;
289 return (3 << 8) | Imm;
335 static inline bool isT2SOImmTwoPartVal (unsigned Imm) {
336 unsigned V = Imm;
350 V = Imm;
362 static inline unsigned getT2SOImmTwoPartFirst(unsigned Imm) {
363 assert (isT2SOImmTwoPartVal(Imm) &&
366 unsigned V = rotr32 (~255, getT2SOImmValRotate(Imm)) & Imm;
371 if (getT2SOImmValSplatVal(Imm & 0xff00ff00U) != -1)
372 return Imm & 0xff00ff00U;
375 assert (getT2SOImmValSplatVal(Imm & 0x00ff00ffU) != -1);
376 return Imm & 0x00ff00ffU;
379 static inline unsigned getT2SOImmTwoPartSecond(unsigned Imm) {
381 Imm ^= getT2SOImmTwoPartFirst(Imm);
383 assert (getT2SOImmVal(Imm) != -1 &&
385 return Imm;
409 assert(Imm12 < (1 << 12) && "Imm too large!");
583 static inline float getFPImmFloat(unsigned Imm) {
590 uint8_t Sign = (Imm >> 7) & 0x1;
591 uint8_t Exp = (Imm >> 4) & 0x7;
592 uint8_t Mantissa = Imm & 0xf;
611 static inline int getFP32Imm(const APInt &Imm) {
612 uint32_t Sign = Imm.lshr(31).getZExtValue() & 1;
613 int32_t Exp = (Imm.lshr(23).getSExtValue() & 0xff) - 127; // -126 to 127
614 int64_t Mantissa = Imm.getZExtValue() & 0x7fffff; // 23 bits
639 static inline int getFP64Imm(const APInt &Imm) {
640 uint64_t Sign = Imm.lshr(63).getZExtValue() & 1;
641 int64_t Exp = (Imm.lshr(52).getSExtValue() & 0x7ff) - 1023; // -1022 to 1023
642 uint64_t Mantissa = Imm.getZExtValue() & 0xfffffffffffffULL;