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

Lines Matching defs:SHIFT

37     int shift;
41 for (shift = 0; shift < 32; shift += 8) {
42 index = (ireg >> shift) & 0xff;
45 val |= tmp << shift;
47 val |= def & (0xff << shift);
57 #define SHIFT 0
60 #define SHIFT 1
63 #define SHIFT 2
66 #define SHIFT 3
210 static inline uint32_t do_ssat(int32_t val, int shift)
215 top = val >> shift;
216 mask = (1u << shift) - 1;
228 static inline uint32_t do_usat(int32_t val, int shift)
232 max = (1u << shift) - 1;
244 uint32_t HELPER(ssat)(uint32_t x, uint32_t shift)
246 return do_ssat(x, shift);
250 uint32_t HELPER(ssat16)(uint32_t x, uint32_t shift)
254 res = (uint16_t)do_ssat((int16_t)x, shift);
255 res |= do_ssat(((int32_t)x) >> 16, shift) << 16;
260 uint32_t HELPER(usat)(uint32_t x, uint32_t shift)
262 return do_usat(x, shift);
266 uint32_t HELPER(usat16)(uint32_t x, uint32_t shift)
270 res = (uint16_t)do_usat((int16_t)x, shift);
271 res |= do_usat(((int32_t)x) >> 16, shift) << 16;
384 /* Similarly for variable shift instructions. */
388 int shift = i & 0xff;
389 if (shift >= 32)
391 return x << shift;
396 int shift = i & 0xff;
397 if (shift >= 32)
399 return (uint32_t)x >> shift;
404 int shift = i & 0xff;
405 if (shift >= 32)
406 shift = 31;
407 return (int32_t)x >> shift;
412 int shift = i & 0xff;
413 if (shift >= 32) {
414 if (shift == 32)
419 } else if (shift != 0) {
420 env->CF = (x >> (32 - shift)) & 1;
421 return x << shift;
428 int shift = i & 0xff;
429 if (shift >= 32) {
430 if (shift == 32)
435 } else if (shift != 0) {
436 env->CF = (x >> (shift - 1)) & 1;
437 return x >> shift;
444 int shift = i & 0xff;
445 if (shift >= 32) {
448 } else if (shift != 0) {
449 env->CF = (x >> (shift - 1)) & 1;
450 return (int32_t)x >> shift;
457 int shift1, shift;
459 shift = shift1 & 0x1f;
460 if (shift == 0) {
465 env->CF = (x >> (shift - 1)) & 1;
466 return ((uint32_t)x >> shift) | (x << (32 - shift));