This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: PR target/46179: fix for TLS code gen. on 680x0


Hi all,

Here's the patch from the bug report, as requested. It is suitable for 
merging on the trunk and the 4.5 branch.

Debian's compiler was bootstrapped with this patch but I have not 
regression tested it myself. (I am preparing a 68040 machine to run test 
suites but it isn't ready yet.)

Regards,
Finn


2010-11-05  Finn Thain  <fthain@telegraphics.com.au>

	PR target/46179
	* config/m68k/m68k.c (handle_move_double): insert calls to 
	m68k_final_prescan_insn to clean up @TLS operand syntax.


diff -pru gcc-4.5-20101021.orig/gcc/config/m68k/m68k.c gcc-4.5-20101021/gcc/config/m68k/m68k.c
--- gcc-4.5-20101021.orig/gcc/config/m68k/m68k.c	2010-06-15 06:01:39.000000000 +1000
+++ gcc-4.5-20101021/gcc/config/m68k/m68k.c	2010-10-29 02:04:44.000000000 +1100
@@ -3478,6 +3478,7 @@ handle_move_double (rtx operands[2],
 
   /* Normal case: do the two words, low-numbered first.  */
 
+  m68k_final_prescan_insn (NULL, operands, 2);
   handle_movsi (operands);
 
   /* Do the middle one of the three words for long double */
@@ -3488,6 +3489,7 @@ handle_move_double (rtx operands[2],
       if (addreg1)
 	handle_reg_adjust (addreg1, 4);
 
+      m68k_final_prescan_insn (NULL, middlehalf, 2);
       handle_movsi (middlehalf);
     }
 
@@ -3498,6 +3500,7 @@ handle_move_double (rtx operands[2],
     handle_reg_adjust (addreg1, 4);
 
   /* Do that word.  */
+  m68k_final_prescan_insn (NULL, latehalf, 2);
   handle_movsi (latehalf);
 
   /* Undo the adds we just did.  */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]