Lines Matching full:amount
91 static inline uint32_t LSL_C(const uint32_t value, const uint32_t amount, in LSL_C() argument
93 if (amount == 0) { in LSL_C()
98 carry_out = amount <= 32 ? Bit32(value, 32 - amount) : 0; in LSL_C()
99 return value << amount; in LSL_C()
102 static inline uint32_t LSL(const uint32_t value, const uint32_t amount, in LSL() argument
105 if (amount == 0) in LSL()
108 uint32_t result = LSL_C(value, amount, dont_care, success); in LSL()
115 static inline uint32_t LSR_C(const uint32_t value, const uint32_t amount, in LSR_C() argument
117 if (amount == 0) { in LSR_C()
122 carry_out = amount <= 32 ? Bit32(value, amount - 1) : 0; in LSR_C()
123 return value >> amount; in LSR_C()
126 static inline uint32_t LSR(const uint32_t value, const uint32_t amount, in LSR() argument
129 if (amount == 0) in LSR()
132 uint32_t result = LSR_C(value, amount, dont_care, success); in LSR()
139 static inline uint32_t ASR_C(const uint32_t value, const uint32_t amount, in ASR_C() argument
141 if (amount == 0 || amount > 32) { in ASR_C()
147 if (amount <= 32) { in ASR_C()
148 carry_out = Bit32(value, amount - 1); in ASR_C()
150 return UnsignedBits(extended, amount + 31, amount); in ASR_C()
157 static inline uint32_t ASR(const uint32_t value, const uint32_t amount, in ASR() argument
160 if (amount == 0) in ASR()
163 uint32_t result = ASR_C(value, amount, dont_care, success); in ASR()
170 static inline uint32_t ROR_C(const uint32_t value, const uint32_t amount, in ROR_C() argument
172 if (amount == 0) { in ROR_C()
177 uint32_t result = llvm::rotr<uint32_t>(value, amount); in ROR_C()
182 static inline uint32_t ROR(const uint32_t value, const uint32_t amount, in ROR() argument
185 if (amount == 0) in ROR()
188 uint32_t result = ROR_C(value, amount, dont_care, success); in ROR()
214 const uint32_t amount, const uint32_t carry_in, in Shift_C() argument
216 if (type == SRType_RRX && amount != 1) { in Shift_C()
222 if (amount == 0) { in Shift_C()
229 result = LSL_C(value, amount, carry_out, success); in Shift_C()
232 result = LSR_C(value, amount, carry_out, success); in Shift_C()
235 result = ASR_C(value, amount, carry_out, success); in Shift_C()
238 result = ROR_C(value, amount, carry_out, success); in Shift_C()
254 const uint32_t amount, const uint32_t carry_in, in Shift() argument
258 uint32_t result = Shift_C(value, type, amount, carry_in, dont_care, success); in Shift()
284 uint32_t amt = 2 * bits(opcode, 11, 8); // rotate amount in ARMExpandImm_C()