diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f9df376720a979ad7e39dffb2d03b6a9b964f246..7e12f30159e28b6d19ecf77c025c8e99f4234612 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-01-24 DJ Delorie <dj@redhat.com> + + * expmed.c (store_bit_field): Don't arbitrarily deny using insv + for storing constants in single-bit bitfields. + 2006-01-25 Ben Elliston <bje@au.ibm.com> * dfp.c (dfp_byte_swap): Use uint32_t and not unsigned long. diff --git a/gcc/expmed.c b/gcc/expmed.c index 23909404005e21afd9758d11e872742a43acdf52..c4797b86f8a866cb97ac210596c4d29642ace74c 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -614,7 +614,6 @@ store_bit_field (rtx str_rtx, unsigned HOST_WIDE_INT bitsize, if (HAVE_insv && GET_MODE (value) != BLKmode - && !(bitsize == 1 && GET_CODE (value) == CONST_INT) && bitsize > 0 && GET_MODE_BITSIZE (op_mode) >= bitsize && ! ((REG_P (op0) || GET_CODE (op0) == SUBREG)