+2002-09-06 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
+ 2002-07-26 change. Comment.
+
2002-09-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* frv.c (frv_unique_section, frv_select_section,
if (which_alternative == 1)
return \"#\";
- if ((start > 0 && start + size <= 16) || start >= 16)
+ /* Since we are using the output value, we can't ignore any need for
+ a shift. The bitfield must end at the LSB. */
+ if (start >= 16 && start + size == 32)
{
- operands[3] = GEN_INT (((1 << (16 - (start & 15)))
- - (1 << (16 - (start & 15) - size))));
- if (start < 16)
- return \"{andiu.|andis.} %0,%1,%3\";
- else
- return \"{andil.|andi.} %0,%1,%3\";
+ operands[3] = GEN_INT ((1 << size) - 1);
+ return \"{andil.|andi.} %0,%1,%3\";
}
if (start + size >= 32)