diff options
Diffstat (limited to 'gcc/config/spu/spu.c')
-rw-r--r-- | gcc/config/spu/spu.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c index e99cea37d05..3ad9035a884 100644 --- a/gcc/config/spu/spu.c +++ b/gcc/config/spu/spu.c @@ -3415,11 +3415,8 @@ arith_immediate_p (rtx op, machine_mode mode, constant_to_array (mode, op, arr); - if (VECTOR_MODE_P (mode)) - mode = GET_MODE_INNER (mode); - - bytes = GET_MODE_SIZE (mode); - mode = mode_for_size (GET_MODE_BITSIZE (mode), MODE_INT, 0); + bytes = GET_MODE_UNIT_SIZE (mode); + mode = mode_for_size (GET_MODE_UNIT_BITSIZE (mode), MODE_INT, 0); /* Check that bytes are repeated. */ for (i = bytes; i < 16; i += bytes) @@ -3459,8 +3456,7 @@ exp2_immediate_p (rtx op, machine_mode mode, int low, int high) constant_to_array (mode, op, arr); - if (VECTOR_MODE_P (mode)) - mode = GET_MODE_INNER (mode); + mode = GET_MODE_INNER (mode); bytes = GET_MODE_SIZE (mode); int_mode = mode_for_size (GET_MODE_BITSIZE (mode), MODE_INT, 0); |