Lines Matching refs:v32

428 /* Return true if v32 is a valid 32-bit shifted immediate.  */
429 static bool is_shimm32(uint32_t v32, int *cmode, int *imm8)
431 if (v32 == (v32 & 0xff)) {
433 *imm8 = v32 & 0xff;
435 } else if (v32 == (v32 & 0xff00)) {
437 *imm8 = (v32 >> 8) & 0xff;
439 } else if (v32 == (v32 & 0xff0000)) {
441 *imm8 = (v32 >> 16) & 0xff;
443 } else if (v32 == (v32 & 0xff000000)) {
445 *imm8 = v32 >> 24;
451 /* Return true if v32 is a valid 32-bit shifting ones immediate. */
452 static bool is_soimm32(uint32_t v32, int *cmode, int *imm8)
454 if ((v32 & 0xffff00ff) == 0xff) {
456 *imm8 = (v32 >> 8) & 0xff;
458 } else if ((v32 & 0xff00ffff) == 0xffff) {
460 *imm8 = (v32 >> 16) & 0xff;
467 * Return non-zero if v32 can be formed by MOVI+ORR.
469 * Return the cmode for ORR; the imm8 can be had via extraction from v32.
471 static int is_shimm32_pair(uint32_t v32, int *cmode, int *imm8)
477 uint32_t tmp = v32 & ~(0xffu << (i * 4));
487 static bool is_shimm1632(uint32_t v32, int *cmode, int *imm8)
489 if (v32 == deposit32(v32, 16, 16, v32)) {
490 return is_shimm16(v32, cmode, imm8);
492 return is_shimm32(v32, cmode, imm8);
2539 uint32_t v32 = v64;
2541 if (is_shimm32(v32, &cmode, &imm8) ||
2542 is_soimm32(v32, &cmode, &imm8)) {
2546 if (is_shimm32(~v32, &cmode, &imm8) ||
2547 is_soimm32(~v32, &cmode, &imm8)) {
2556 i = is_shimm32_pair(v32, &cmode, &imm8);
2559 tcg_out_vmovi(s, rd, q, 0, i | 1, extract32(v32, i * 4, 8));
2562 i = is_shimm32_pair(~v32, &cmode, &imm8);
2565 tcg_out_vmovi(s, rd, q, 1, i | 1, extract32(~v32, i * 4, 8));