expmed.c (store_bit_field): Don't arbitrarily deny using insv for storing constants...
authorDJ Delorie <dj@redhat.com>
Tue, 24 Jan 2006 23:10:54 +0000 (18:10 -0500)
committerDJ Delorie <dj@gcc.gnu.org>
Tue, 24 Jan 2006 23:10:54 +0000 (18:10 -0500)
* expmed.c (store_bit_field): Don't arbitrarily deny using insv
for storing constants in single-bit bitfields.

From-SVN: r110185

gcc/ChangeLog
gcc/expmed.c

index f9df376720a979ad7e39dffb2d03b6a9b964f246..7e12f30159e28b6d19ecf77c025c8e99f4234612 100644 (file)
@@ -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.
index 23909404005e21afd9758d11e872742a43acdf52..c4797b86f8a866cb97ac210596c4d29642ace74c 100644 (file)
@@ -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)