From f67dd9ef7f5834eb89f6925559ec95f339bdce68 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Sat, 29 Aug 1998 21:14:50 +0000 Subject: [PATCH] sparc.md (movdf_insn, movtf_insn): Fix type and length attributes to match May 3rd changes made here. * config/sparc/sparc.md (movdf_insn, movtf_insn): Fix type and length attributes to match May 3rd changes made here. * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Fix and make call-used %l7 when generating pic code. From-SVN: r22089 --- gcc/ChangeLog | 7 +++++++ gcc/config/sparc/sparc.h | 5 +++++ gcc/config/sparc/sparc.md | 8 ++++---- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ab57e50e485f..66a620a429ea 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +Sat Aug 29 14:52:28 1998 David S. Miller + + * config/sparc/sparc.md (movdf_insn, movtf_insn): Fix type and + length attributes to match May 3rd changes made here. + * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Fix and make + call-used %l7 when generating pic code. + Sat Aug 29 14:59:32 1998 Mumit Khan * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h index 1f21659178a4..8dcc069a614c 100644 --- a/gcc/config/sparc/sparc.h +++ b/gcc/config/sparc/sparc.h @@ -959,6 +959,11 @@ do \ fixed_regs[1] = 1; \ fixed_regs[2] = 1; \ } \ + if (flag_pic != 0) \ + { \ + fixed_regs[23] = 1; \ + call_used_regs[23] = 1; \ + } \ } \ while (0) diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index 47d2d3de7ad3..4488b73bfb77 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -2487,8 +2487,8 @@ return output_fp_move_double (operands); return output_move_double (operands); }" - [(set_attr "type" "fpstore,fpload,fp,move,fpstore,store,fpload,load") - (set_attr "length" "1,1,2,2,3,3,3,3")]) + [(set_attr "type" "fp,fpstore,fpload,fpstore,fpload,move,store,load") + (set_attr "length" "2,3,3,1,1,2,2,2")]) ;; Exactly the same as above, except that all `e' cases are deleted. ;; This is necessary to prevent reload from ever trying to use a `e' reg @@ -2614,8 +2614,8 @@ return output_fp_move_quad (operands); return output_move_quad (operands); }" - [(set_attr "type" "fp,move,fpstore,store,fpload,load") - (set_attr "length" "4,4,5,5,5,5")]) + [(set_attr "type" "fp,fpstore,fpload,move,store,load") + (set_attr "length" "5,4,4,5,4,4")]) ;; Exactly the same as above, except that all `e' cases are deleted. ;; This is necessary to prevent reload from ever trying to use a `e' reg -- 2.47.2