From 57fa673965950f8586de56fe568bee9a534f0efd Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Thu, 10 Nov 1994 15:41:50 -0500 Subject: [PATCH] (movsi): In TOC symbol case, use "la" for PowerPC. (movdi): Handle TOC symbol just like movsi. From-SVN: r8408 --- gcc/config/rs6000/rs6000.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 3a1b6f6..a11f756 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -3566,7 +3566,7 @@ {st%U0%X0|stw%U0%X0} %1,%0 {lil|li} %0,%1 {liu|lis} %0,%u1 - cal %0,%1(%*) + {cal|la} %0,%1(%*) mf%1 %0 mt%0 %1 mt%0 %1 @@ -3999,8 +3999,8 @@ (set_attr "length" "8,8,8,*,*,*")]) (define_insn "" - [(set (match_operand:DI 0 "nonimmediate_operand" "=r,r,m,r,r,f,f,m,r,*h") - (match_operand:DI 1 "input_operand" "r,m,r,I,J,f,m,f,*h,r"))] + [(set (match_operand:DI 0 "nonimmediate_operand" "=r,r,m,r,r,r,f,f,m,r,*h") + (match_operand:DI 1 "input_operand" "r,m,r,I,J,R,f,m,f,*h,r"))] "TARGET_POWERPC64 && (gpc_reg_operand (operands[0], DImode) || gpc_reg_operand (operands[1], DImode))" "@ @@ -4009,12 +4009,13 @@ sd%U0%X0 %1,%0 li %0,%1 lis %0,%u1 + {cal|la} %0,%1(%*) fmr %0,%1 lfd%U1%X1 %0,%1 stfd%U0%X0 %1,%0 mf%1 %0 mt%0 %1" - [(set_attr "type" "*,load,*,*,*,fp,fpload,*,*,mtjmpr")]) + [(set_attr "type" "*,load,*,*,*,*,fp,fpload,*,*,mtjmpr")]) ;; TImode is similar, except that we usually want to compute the address into ;; a register and use lsi/stsi (the exception is during reload). MQ is also -- 2.7.4