PR target/20928
* i386.c (legitimize_pic_address): Deal with large immediates.
* gcc.c-torture/compile/pr20928.c: New test.
From-SVN: r106284
2005-10-31 Jan Hubicka <jh@suse.cz>
+ PR target/20928
+ * i386.c (legitimize_pic_address): Deal with large immediates.
+
PR profile/20815
* coverage.c (coverage_checksum_string): Fix code to stip random seeds
from symbol names while computing checkup.
}
else
{
- if (GET_CODE (addr) == CONST)
+ if (GET_CODE (addr) == CONST_INT
+ && !x86_64_immediate_operand (addr, VOIDmode))
+ {
+ if (reg)
+ {
+ emit_move_insn (reg, addr);
+ new = reg;
+ }
+ else
+ new = force_reg (Pmode, addr);
+ }
+ else if (GET_CODE (addr) == CONST)
{
addr = XEXP (addr, 0);
+2005-10-31 Jan Hubicka <jh@suse.cz>
+
+ PR target/20928
+ * gcc.c-torture/compile/pr20928.c: New test.
+
2005-10-31 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/23492
--- /dev/null
+extern struct bar_t bar;
+void *a;
+void
+foo (void)
+{
+ void **p = a;
+ do {
+ *p++ = ((unsigned char *) &bar + ((unsigned long int) 1L << 31));
+ } while (p);
+}