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)