johannes 02/10/07 14:36:58
Modified: live/gcc3/gcc/config/rs6000 rs6000.md
Log:
Fix movdf_low to allow for substitute pic base reg in leaves. 3048313.
(So far I've been unable to cause this pattern to be invoked on TOT;
tested on fearless-kitty.)
Revision Changes Path
1.80 +5 -1 src/live/gcc3/gcc/config/rs6000/rs6000.md
Index: rs6000.md
===================================================================
RCS file: /cvs/Darwin/src/live/gcc3/gcc/config/rs6000/rs6000.md,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -r1.79 -r1.80
--- rs6000.md 2002/09/25 19:24:22 1.79
+++ rs6000.md 2002/10/07 21:36:57 1.80
@@ -8408,7 +8408,11 @@
operands2[0] = operands[0];
operands2[1] = operands[1];
operands2[2] = operands[2];
- operands2[3] = gen_rtx_REG (SImode, RS6000_PIC_OFFSET_TABLE_REGNUM);
+ /* APPLE LOCAL volatile pic base reg in leaves */
+ operands2[3] = gen_rtx_REG (SImode,
+ (cfun->machine->substitute_pic_base_reg == -1
+ ? RS6000_PIC_OFFSET_TABLE_REGNUM
+ : cfun->machine->substitute_pic_base_reg));
output_asm_insn (\"{l|lwz} %0,lo16(%2)(%1)\", operands);
/* APPLE LOCAL dynamic-no-pic */
#if TARGET_MACHO