diff options
author | David S. Miller <davem@tanya.rutgers.edu> | 1997-10-17 23:01:29 +0000 |
---|---|---|
committer | Doug Evans <devans@gcc.gnu.org> | 1997-10-17 23:01:29 +0000 |
commit | 7e37212eeb18269a81b5fb44186332a050894357 (patch) | |
tree | 4ecfd4cf5f32185c26d04202f0ba82ecf2cecad8 /gcc | |
parent | bd6c666f80101e2d22c2e7a0ce91e1e2eacb4cd7 (diff) | |
download | gcc-7e37212eeb18269a81b5fb44186332a050894357.zip gcc-7e37212eeb18269a81b5fb44186332a050894357.tar.gz gcc-7e37212eeb18269a81b5fb44186332a050894357.tar.bz2 |
sparc.md (pic_{lo_sum,sethi}_di): New patterns necessary for PIC support on sparc64.
* sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
necessary for PIC support on sparc64.
From-SVN: r15982
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.md | 16 |
2 files changed, 18 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dfad611..ece2b75 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -6,6 +6,8 @@ Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu> * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed. (output_double_int): Output DI mode values correctly when HOST_BITS_PER_WIDE_INT is 64. + * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns + necessary for PIC support on sparc64. Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com> diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index a3b75d0..2aac850 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -1533,6 +1533,22 @@ [(set_attr "type" "move") (set_attr "length" "1")]) +(define_insn "pic_lo_sum_di" + [(set (match_operand:DI 0 "register_operand" "=r") + (lo_sum:SI (match_operand:DI 1 "register_operand" "r") + (unspec:SI [(match_operand:DI 2 "immediate_operand" "in")] 0)))] + "TARGET_ARCH64 && flag_pic" + "add %1,%%lo(%a2),%0" + [(set_attr "length" "1")]) + +(define_insn "pic_sethi_di" + [(set (match_operand:DI 0 "register_operand" "=r") + (high:SI (unspec:SI [(match_operand 1 "" "")] 0)))] + "TARGET_ARCH64 && flag_pic && check_pic (1)" + "sethi %%hi(%a1),%0" + [(set_attr "type" "move") + (set_attr "length" "1")]) + (define_insn "get_pc_via_call" [(set (pc) (label_ref (match_operand 0 "" ""))) (set (reg:SI 15) (label_ref (match_operand 1 "" "")))] |