Go to the documentation of this file.
   17 #ifndef CS_LLVM_TARGET_ARM_ARMADDRESSINGMODES_H 
   18 #define CS_LLVM_TARGET_ARM_ARMADDRESSINGMODES_H 
   21 #include "../../MathExtras.h" 
   58                 default: 
return (
unsigned int)-1;       
 
   87 static inline unsigned rotr32(
unsigned Val, 
unsigned Amt)
 
   90         return (Val >> Amt) | (Val << ((32-Amt)&31));
 
   95 static inline unsigned rotl32(
unsigned Val, 
unsigned Amt)
 
   98         return (Val << Amt) | (Val >> ((32-Amt)&31));
 
  117         return ShOp | (Imm << 3);
 
  141         return (Imm >> 8) * 2;
 
  153         if ((Imm & ~255U) == 0) 
return 0;
 
  163         if ((
rotr32(Imm, RotAmt) & ~255U) == 0)
 
  164                 return (32-RotAmt)&31;  
 
  170                 unsigned RotAmt2 = TZ2 & ~1;
 
  171                 if ((
rotr32(Imm, RotAmt2) & ~255U) == 0)
 
  172                         return (32-RotAmt2)&31;  
 
  178         return (32-RotAmt)&31;  
 
  189         if ((
Arg & ~255U) == 0) 
return Arg;
 
  198         return rotl32(
Arg, RotAmt) | ((RotAmt>>1) << 8);
 
  240         if ((Imm & ~255U) == 0) 
return 0;
 
  261         if ((Imm & ~65535U) == 0) 
return 0;
 
  297         if ((V & 0xffffff00) == 0)
 
  301         Vs = ((V & 0xff) == 0) ? V >> 8 : V;
 
  305         u = Imm | (Imm << 16);
 
  309                 return (((Vs == V) ? 1 : 2) << 8) | Imm;
 
  312         if (Vs == (
u | (
u << 8)))
 
  313                 return (3 << 8) | Imm;
 
  329         if ((
rotr32(0xff000000U, RotAmt) & V) == V)
 
  330                 return (
rotr32(V, 24 - RotAmt) & 0x7f) | ((RotAmt + 8) << 7);
 
  359         if ((V & ~255U) == 0)
 
  364         return (32 - RotAmt) & 31;
 
  406                 return Imm & 0xff00ff00U;
 
  410         return Imm & 0x00ff00ffU;
 
  447         return Imm12 | ((
int)isSub << 12) | (SO << 13) | (IdxMode << 16) ;
 
  452         return AM2Opc & ((1 << 12)-1);
 
  467         return (AM2Opc >> 16);
 
  489         return ((
int)isSub << 8) | Offset | (IdxMode << 9);
 
  494         return AM3Opc & 0xFF;
 
  504         return (AM3Opc >> 9);
 
  547         return ((
int)isSub << 8) | Offset;
 
  551         return AM5Opc & 0xFF;
 
  585         return (OpCmode << 8) | Val;
 
  589         return (ModImm >> 8) & 0x1f;
 
  593         return ModImm & 0xff;
 
  606         if (OpCmode == 0xe) {
 
  610         } 
else if ((OpCmode & 0xc) == 0x8) {
 
  612                 ByteNum = (OpCmode & 0x6) >> 1;
 
  613                 Val = (
uint64_t)Imm8 << (8 * ByteNum);
 
  615         } 
else if ((OpCmode & 0x8) == 0) {
 
  617                 ByteNum = (OpCmode & 0x6) >> 1;
 
  618                 Val = (
uint64_t)Imm8 << (8 * ByteNum);
 
  620         } 
else if ((OpCmode & 0xe) == 0xc) {
 
  622                 ByteNum = 1 + (OpCmode & 0x1);
 
  623                 Val = (Imm8 << (8 * ByteNum)) | (0xffff >> (8 * (2 - ByteNum)));
 
  625         } 
else if (OpCmode == 0x1e) {
 
  627                 for (ByteNum = 0; ByteNum < 8; ++ByteNum) {
 
  628                         if ((ModImm >> ByteNum) & 1)
 
  629                                 Val |= (
uint64_t)0xff << (8 * ByteNum);
 
  652         uint8_t Exp = (Imm >> 4) & 0x7;
 
  662         FPUnion.I |= ((Exp & 0x4) != 0 ? 0 : 1) << 30;
 
  663         FPUnion.I |= ((Exp & 0x4) != 0 ? 0x1f : 0) << 25;
 
  664         FPUnion.I |= (Exp & 0x3) << 23;
 
  665         FPUnion.I |= Mantissa << 19;
 
  
static unsigned getT2SOImmTwoPartFirst(unsigned Imm)
static unsigned getSOImmValRot(unsigned Imm)
static uint64_t ARM_AM_decodeNEONModImm(unsigned ModImm, unsigned *EltBits)
static unsigned ARM_AM_getAM2Opc(ARM_AM_AddrOpc Opc, unsigned Imm12, ARM_AM_ShiftOpc SO, unsigned IdxMode)
static const char * ARM_AM_getAddrOpcStr(ARM_AM_AddrOpc Op)
ARM_AM_ShiftOpc
ARM_AM - ARM Addressing Mode Stuff.
static unsigned createNEONModImm(unsigned OpCmode, unsigned Val)
static ARM_AM_ShiftOpc ARM_AM_getSORegShOp(unsigned Op)
OPENSSL_EXPORT pem_password_cb void * u
static unsigned getNEONModImmVal(unsigned ModImm)
static ARM_AM_AMSubMode getAM4SubMode(unsigned Mode)
static unsigned getT2SOImmValRotate(unsigned V)
static unsigned getAM3Opc(ARM_AM_AddrOpc Opc, unsigned char Offset, unsigned IdxMode)
getAM3Opc - This function encodes the addrmode3 opc field.
Arg(64) -> Arg(128) ->Arg(256) ->Arg(512) ->Arg(1024) ->Arg(1536) ->Arg(2048) ->Arg(3072) ->Arg(4096) ->Arg(5120) ->Arg(6144) ->Arg(7168)
static bool isT2SOImmTwoPartVal(unsigned Imm)
static bool isSOImmTwoPartVal(unsigned V)
static unsigned getThumbImmNonShiftedVal(unsigned V)
static unsigned getSOImmValRotate(unsigned Imm)
static unsigned getAM4ModeImm(ARM_AM_AMSubMode SubMode)
static int getT2SOImmValSplatVal(unsigned V)
static unsigned getAM2Offset(unsigned AM2Opc)
static unsigned getT2SOImmTwoPartSecond(unsigned Imm)
static unsigned getSOImmValImm(unsigned Imm)
unsigned __int64 uint64_t
static ARM_AM_ShiftOpc getAM2ShiftOpc(unsigned AM2Opc)
static unsigned ARM_AM_getShiftOpcEncoding(ARM_AM_ShiftOpc Op)
static unsigned getSORegOpc(ARM_AM_ShiftOpc ShOp, unsigned Imm)
static const char * ARM_AM_getShiftOpcStr(ARM_AM_ShiftOpc Op)
static unsigned getSOImmTwoPartFirst(unsigned V)
static int getSOImmVal(unsigned Arg)
static unsigned getAM2IdxMode(unsigned AM2Opc)
static float getFPImmFloat(unsigned Imm)
static int getT2SOImmVal(unsigned Arg)
static ARM_AM_AddrOpc getAM2Op(unsigned AM2Opc)
static unsigned getNEONModImmOpCmode(unsigned ModImm)
static unsigned getSORegOffset(unsigned Op)
static unsigned getSOImmTwoPartSecond(unsigned V)
static int getT2SOImmValRotateVal(unsigned V)
static unsigned getThumbImmValShift(unsigned Imm)
static bool isThumbImmShiftedVal(unsigned V)
static unsigned rotr32(unsigned Val, unsigned Amt)
static const char * ARM_AM_getAMSubModeStr(ARM_AM_AMSubMode Mode)
static unsigned char getAM3Offset(unsigned AM3Opc)
static ARM_AM_AddrOpc ARM_AM_getAM5Op(unsigned AM5Opc)
ARM_AM_AMSubMode getLoadStoreMultipleSubMode(int Opcode)
static ARM_AM_AddrOpc getAM3Op(unsigned AM3Opc)
static bool isThumbImm16ShiftedVal(unsigned V)
static unsigned char ARM_AM_getAM5Offset(unsigned AM5Opc)
static unsigned getAM3IdxMode(unsigned AM3Opc)
static unsigned rotl32(unsigned Val, unsigned Amt)
static unsigned getThumbImm16ValShift(unsigned Imm)
static unsigned ARM_AM_getAM5Opc(ARM_AM_AddrOpc Opc, unsigned char Offset)
getAM5Opc - This function encodes the addrmode5 opc field.
grpc
Author(s): 
autogenerated on Fri May 16 2025 02:57:43