Lines Matching refs:Imm
106 static DecodeStatus decodeCallOperand(MCInst &Inst, uint64_t Imm, in decodeCallOperand() argument
108 assert(isUInt<18>(Imm) && "Invalid immediate"); in decodeCallOperand()
109 Inst.addOperand(MCOperand::createImm(SignExtend64<20>(Imm << 2))); in decodeCallOperand()
113 static DecodeStatus decodeJumpOperand(MCInst &Inst, uint64_t Imm, in decodeJumpOperand() argument
115 assert(isUInt<18>(Imm) && "Invalid immediate"); in decodeJumpOperand()
116 Inst.addOperand(MCOperand::createImm(SignExtend64<18>(Imm))); in decodeJumpOperand()
120 static DecodeStatus decodeBranchOperand(MCInst &Inst, uint64_t Imm, in decodeBranchOperand() argument
127 assert(isUInt<12>(Imm) && "Invalid immediate"); in decodeBranchOperand()
128 if (!tryAddingSymbolicOperand(SignExtend64<12>(Imm) + 4 + Address, true, in decodeBranchOperand()
130 Inst.addOperand(MCOperand::createImm(SignExtend64<12>(Imm))); in decodeBranchOperand()
133 assert(isUInt<8>(Imm) && "Invalid immediate"); in decodeBranchOperand()
134 if (!tryAddingSymbolicOperand(SignExtend64<8>(Imm) + 4 + Address, true, in decodeBranchOperand()
136 Inst.addOperand(MCOperand::createImm(SignExtend64<8>(Imm))); in decodeBranchOperand()
141 static DecodeStatus decodeL32ROperand(MCInst &Inst, uint64_t Imm, in decodeL32ROperand() argument
144 assert(isUInt<16>(Imm) && "Invalid immediate"); in decodeL32ROperand()
146 SignExtend64<17>((Imm << 2) + 0x40000 + (Address & 0x3)))); in decodeL32ROperand()
150 static DecodeStatus decodeImm8Operand(MCInst &Inst, uint64_t Imm, in decodeImm8Operand() argument
152 assert(isUInt<8>(Imm) && "Invalid immediate"); in decodeImm8Operand()
153 Inst.addOperand(MCOperand::createImm(SignExtend64<8>(Imm))); in decodeImm8Operand()
157 static DecodeStatus decodeImm8_sh8Operand(MCInst &Inst, uint64_t Imm, in decodeImm8_sh8Operand() argument
160 assert(isUInt<8>(Imm) && "Invalid immediate"); in decodeImm8_sh8Operand()
161 Inst.addOperand(MCOperand::createImm(SignExtend64<16>(Imm << 8))); in decodeImm8_sh8Operand()
165 static DecodeStatus decodeImm12Operand(MCInst &Inst, uint64_t Imm, in decodeImm12Operand() argument
167 assert(isUInt<12>(Imm) && "Invalid immediate"); in decodeImm12Operand()
168 Inst.addOperand(MCOperand::createImm(SignExtend64<12>(Imm))); in decodeImm12Operand()
172 static DecodeStatus decodeUimm4Operand(MCInst &Inst, uint64_t Imm, in decodeUimm4Operand() argument
174 assert(isUInt<4>(Imm) && "Invalid immediate"); in decodeUimm4Operand()
175 Inst.addOperand(MCOperand::createImm(Imm)); in decodeUimm4Operand()
179 static DecodeStatus decodeUimm5Operand(MCInst &Inst, uint64_t Imm, in decodeUimm5Operand() argument
181 assert(isUInt<5>(Imm) && "Invalid immediate"); in decodeUimm5Operand()
182 Inst.addOperand(MCOperand::createImm(Imm)); in decodeUimm5Operand()
186 static DecodeStatus decodeImm1_16Operand(MCInst &Inst, uint64_t Imm, in decodeImm1_16Operand() argument
188 assert(isUInt<4>(Imm) && "Invalid immediate"); in decodeImm1_16Operand()
189 Inst.addOperand(MCOperand::createImm(Imm + 1)); in decodeImm1_16Operand()
193 static DecodeStatus decodeShimm1_31Operand(MCInst &Inst, uint64_t Imm, in decodeShimm1_31Operand() argument
196 assert(isUInt<5>(Imm) && "Invalid immediate"); in decodeShimm1_31Operand()
197 Inst.addOperand(MCOperand::createImm(32 - Imm)); in decodeShimm1_31Operand()
203 static DecodeStatus decodeB4constOperand(MCInst &Inst, uint64_t Imm, in decodeB4constOperand() argument
205 assert(isUInt<4>(Imm) && "Invalid immediate"); in decodeB4constOperand()
207 Inst.addOperand(MCOperand::createImm(TableB4const[Imm])); in decodeB4constOperand()
213 static DecodeStatus decodeB4constuOperand(MCInst &Inst, uint64_t Imm, in decodeB4constuOperand() argument
216 assert(isUInt<4>(Imm) && "Invalid immediate"); in decodeB4constuOperand()
218 Inst.addOperand(MCOperand::createImm(TableB4constu[Imm])); in decodeB4constuOperand()
222 static DecodeStatus decodeMem8Operand(MCInst &Inst, uint64_t Imm, in decodeMem8Operand() argument
224 assert(isUInt<12>(Imm) && "Invalid immediate"); in decodeMem8Operand()
225 DecodeARRegisterClass(Inst, Imm & 0xf, Address, Decoder); in decodeMem8Operand()
226 Inst.addOperand(MCOperand::createImm((Imm >> 4) & 0xff)); in decodeMem8Operand()
230 static DecodeStatus decodeMem16Operand(MCInst &Inst, uint64_t Imm, in decodeMem16Operand() argument
232 assert(isUInt<12>(Imm) && "Invalid immediate"); in decodeMem16Operand()
233 DecodeARRegisterClass(Inst, Imm & 0xf, Address, Decoder); in decodeMem16Operand()
234 Inst.addOperand(MCOperand::createImm((Imm >> 3) & 0x1fe)); in decodeMem16Operand()
238 static DecodeStatus decodeMem32Operand(MCInst &Inst, uint64_t Imm, in decodeMem32Operand() argument
240 assert(isUInt<12>(Imm) && "Invalid immediate"); in decodeMem32Operand()
241 DecodeARRegisterClass(Inst, Imm & 0xf, Address, Decoder); in decodeMem32Operand()
242 Inst.addOperand(MCOperand::createImm((Imm >> 2) & 0x3fc)); in decodeMem32Operand()