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 f9df376..7e12f30 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 2390940..c4797b8 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)