diff options
Diffstat (limited to 'gcc/emit-rtl.c')
-rwxr-xr-x | gcc/emit-rtl.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 3e23a23..b963f16 100755 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -626,8 +626,7 @@ gen_lowpart_common (mode, x) / UNITS_PER_WORD); if ((GET_CODE (x) == ZERO_EXTEND || GET_CODE (x) == SIGN_EXTEND) - && (GET_MODE_CLASS (mode) == MODE_INT - || GET_MODE_CLASS (mode) == MODE_PARTIAL_INT)) + && GET_MODE_CLASS (mode) == MODE_INT) { /* If we are getting the low-order part of something that has been sign- or zero-extended, we can either just use the object being @@ -698,8 +697,7 @@ gen_lowpart_common (mode, x) } /* If X is a CONST_INT or a CONST_DOUBLE, extract the appropriate bits from the low-order part of the constant. */ - else if ((GET_MODE_CLASS (mode) == MODE_INT - || GET_MODE_CLASS (mode) == MODE_PARTIAL_INT) + else if (GET_MODE_CLASS (mode) == MODE_INT && GET_MODE (x) == VOIDmode && (GET_CODE (x) == CONST_INT || GET_CODE (x) == CONST_DOUBLE)) { @@ -835,8 +833,7 @@ gen_lowpart_common (mode, x) else if (((HOST_FLOAT_FORMAT == TARGET_FLOAT_FORMAT && HOST_BITS_PER_WIDE_INT == BITS_PER_WORD) || flag_pretend_float) - && (GET_MODE_CLASS (mode) == MODE_INT - || GET_MODE_CLASS (mode) == MODE_PARTIAL_INT) + && GET_MODE_CLASS (mode) == MODE_INT && GET_CODE (x) == CONST_DOUBLE && GET_MODE_CLASS (GET_MODE (x)) == MODE_FLOAT && GET_MODE_BITSIZE (mode) == BITS_PER_WORD) @@ -850,8 +847,7 @@ gen_lowpart_common (mode, x) else if (((HOST_FLOAT_FORMAT == TARGET_FLOAT_FORMAT && HOST_BITS_PER_WIDE_INT == BITS_PER_WORD) || flag_pretend_float) - && (GET_MODE_CLASS (mode) == MODE_INT - || GET_MODE_CLASS (mode) == MODE_PARTIAL_INT) + && GET_MODE_CLASS (mode) == MODE_INT && GET_CODE (x) == CONST_DOUBLE && GET_MODE_CLASS (GET_MODE (x)) == MODE_FLOAT && GET_MODE_BITSIZE (mode) == 2 * BITS_PER_WORD) @@ -3502,11 +3498,6 @@ init_emit_once (line_numbers) for (mode = GET_CLASS_NARROWEST_MODE (MODE_INT); mode != VOIDmode; mode = GET_MODE_WIDER_MODE (mode)) const_tiny_rtx[i][(int) mode] = GEN_INT (i); - - for (mode = GET_CLASS_NARROWEST_MODE (MODE_PARTIAL_INT); - mode != VOIDmode; - mode = GET_MODE_WIDER_MODE (mode)) - const_tiny_rtx[i][(int) mode] = GEN_INT (i); } for (mode = GET_CLASS_NARROWEST_MODE (MODE_CC); mode != VOIDmode; |