Commit 21102f25 by Richard Kenner Committed by Richard Kenner

* expmed.c (mask_rtx): Avoid undefined shifts for BITSIZE of 0.

From-SVN: r65796
parent 38afb23f
2003-04-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* expmed.c (mask_rtx): Avoid undefined shifts for BITSIZE of 0.
2003-04-18 Olivier Hainque <hainque@act-europe.fr>
* calls.c (expand_call): Move special case for constructor calls
......
......@@ -1698,7 +1698,9 @@ mask_rtx (mode, bitpos, bitsize, complement)
{
HOST_WIDE_INT masklow, maskhigh;
if (bitpos < HOST_BITS_PER_WIDE_INT)
if (bitsize == 0)
masklow = 0;
else if (bitpos < HOST_BITS_PER_WIDE_INT)
masklow = (HOST_WIDE_INT) -1 << bitpos;
else
masklow = 0;
......@@ -1712,7 +1714,9 @@ mask_rtx (mode, bitpos, bitsize, complement)
else
maskhigh = (HOST_WIDE_INT) -1 << (bitpos - HOST_BITS_PER_WIDE_INT);
if (bitpos + bitsize > HOST_BITS_PER_WIDE_INT)
if (bitsize == 0)
maskhigh = 0;
else if (bitpos + bitsize > HOST_BITS_PER_WIDE_INT)
maskhigh &= ((unsigned HOST_WIDE_INT) -1
>> (2 * HOST_BITS_PER_WIDE_INT - bitpos - bitsize));
else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment