+2002-09-04 Dale Johannesen <dalej@apple.com>
+
+ * varasm.c (struct rtx_const, decode_rtx_const):
+ Make veclo and vechi fields not share storage.
+
Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
* loop.c (scan_loop): Don't mark separate insns out of a libcall
} GTY ((tag ("0"))) di;
/* The max vector size we have is 8 wide. This should be enough. */
- HOST_WIDE_INT veclo[16];
- HOST_WIDE_INT vechi[16];
+ struct rtx_const_vec {
+ HOST_WIDE_INT veclo;
+ HOST_WIDE_INT vechi;
+ } GTY ((tag ("2"))) vec[16];
} GTY ((desc ("%1.kind >= RTX_INT"), descbits ("1"))) un;
};
elt = CONST_VECTOR_ELT (x, i);
if (GET_MODE_CLASS (mode) == MODE_VECTOR_INT)
{
- value->un.veclo[i] = (HOST_WIDE_INT) INTVAL (elt);
- value->un.vechi[i] = 0;
+ value->un.vec[i].veclo = (HOST_WIDE_INT) INTVAL (elt);
+ value->un.vec[i].vechi = 0;
}
else if (GET_MODE_CLASS (mode) == MODE_VECTOR_FLOAT)
{
- value->un.veclo[i] = (HOST_WIDE_INT) CONST_DOUBLE_LOW (elt);
- value->un.vechi[i] = (HOST_WIDE_INT) CONST_DOUBLE_HIGH (elt);
+ value->un.vec[i].veclo = (HOST_WIDE_INT) CONST_DOUBLE_LOW (elt);
+ value->un.vec[i].vechi = (HOST_WIDE_INT) CONST_DOUBLE_HIGH (elt);
}
else
abort ();