Lines Matching defs:amount

89 static inline uint32_t LSL_C(const uint32_t value, const uint32_t amount,
91 if (amount == 0) {
96 carry_out = amount <= 32 ? Bit32(value, 32 - amount) : 0;
97 return value << amount;
100 static inline uint32_t LSL(const uint32_t value, const uint32_t amount,
103 if (amount == 0)
106 uint32_t result = LSL_C(value, amount, dont_care, success);
113 static inline uint32_t LSR_C(const uint32_t value, const uint32_t amount,
115 if (amount == 0) {
120 carry_out = amount <= 32 ? Bit32(value, amount - 1) : 0;
121 return value >> amount;
124 static inline uint32_t LSR(const uint32_t value, const uint32_t amount,
127 if (amount == 0)
130 uint32_t result = LSR_C(value, amount, dont_care, success);
137 static inline uint32_t ASR_C(const uint32_t value, const uint32_t amount,
139 if (amount == 0 || amount > 32) {
145 if (amount <= 32) {
146 carry_out = Bit32(value, amount - 1);
148 return UnsignedBits(extended, amount + 31, amount);
155 static inline uint32_t ASR(const uint32_t value, const uint32_t amount,
158 if (amount == 0)
161 uint32_t result = ASR_C(value, amount, dont_care, success);
168 static inline uint32_t ROR_C(const uint32_t value, const uint32_t amount,
170 if (amount == 0) {
175 uint32_t amt = amount % 32;
181 static inline uint32_t ROR(const uint32_t value, const uint32_t amount,
184 if (amount == 0)
187 uint32_t result = ROR_C(value, amount, dont_care, success);
213 const uint32_t amount, const uint32_t carry_in,
215 if (type == SRType_RRX && amount != 1) {
221 if (amount == 0) {
228 result = LSL_C(value, amount, carry_out, success);
231 result = LSR_C(value, amount, carry_out, success);
234 result = ASR_C(value, amount, carry_out, success);
237 result = ROR_C(value, amount, carry_out, success);
253 const uint32_t amount, const uint32_t carry_in,
257 uint32_t result = Shift_C(value, type, amount, carry_in, dont_care, success);
283 uint32_t amt = 2 * bits(opcode, 11, 8); // rotate amount