Home | History | Annotate | Download | only in target-arm

Lines Matching defs:shift

40     int shift;
44 for (shift = 0; shift < 32; shift += 8) {
45 index = (ireg >> shift) & 0xff;
48 val |= tmp << shift;
50 val |= def & (0xff << shift);
63 #define SHIFT 0
66 #define SHIFT 1
69 #define SHIFT 2
72 #define SHIFT 3
200 static inline uint32_t do_ssat(CPUARMState *env, int32_t val, int shift)
205 top = val >> shift;
206 mask = (1u << shift) - 1;
218 static inline uint32_t do_usat(CPUARMState *env, int32_t val, int shift)
222 max = (1u << shift) - 1;
234 uint32_t HELPER(ssat)(CPUARMState *env, uint32_t x, uint32_t shift)
236 return do_ssat(env, x, shift);
240 uint32_t HELPER(ssat16)(CPUARMState *env, uint32_t x, uint32_t shift)
244 res = (uint16_t)do_ssat(env, (int16_t)x, shift);
245 res |= do_ssat(env, ((int32_t)x) >> 16, shift) << 16;
250 uint32_t HELPER(usat)(CPUARMState *env, uint32_t x, uint32_t shift)
252 return do_usat(env, x, shift);
256 uint32_t HELPER(usat16)(CPUARMState *env, uint32_t x, uint32_t shift)
260 res = (uint16_t)do_usat(env, (int16_t)x, shift);
261 res |= do_usat(env, ((int32_t)x) >> 16, shift) << 16;
374 /* Similarly for variable shift instructions. */
378 int shift = i & 0xff;
379 if (shift >= 32)
381 return x << shift;
386 int shift = i & 0xff;
387 if (shift >= 32)
389 return (uint32_t)x >> shift;
394 int shift = i & 0xff;
395 if (shift >= 32)
396 shift = 31;
397 return (int32_t)x >> shift;
402 int shift = i & 0xff;
403 if (shift >= 32) {
404 if (shift == 32)
409 } else if (shift != 0) {
410 env->CF = (x >> (32 - shift)) & 1;
411 return x << shift;
418 int shift = i & 0xff;
419 if (shift >= 32) {
420 if (shift == 32)
425 } else if (shift != 0) {
426 env->CF = (x >> (shift - 1)) & 1;
427 return x >> shift;
434 int shift = i & 0xff;
435 if (shift >= 32) {
438 } else if (shift != 0) {
439 env->CF = (x >> (shift - 1)) & 1;
440 return (int32_t)x >> shift;
447 int shift1, shift;
449 shift = shift1 & 0x1f;
450 if (shift == 0) {
455 env->CF = (x >> (shift - 1)) & 1;
456 return ((uint32_t)x >> shift) | (x << (32 - shift));