alpha.md (sibcall_osf_1_er): New.
* config/alpha/alpha.md (sibcall_osf_1_er): New. (sibcall_value_osf_1_er): New. From-SVN: r48061
This commit is contained in:
parent
b6434700a8
commit
97feffc243
@ -1,3 +1,8 @@
|
|||||||
|
2001-12-15 Richard Henderson <rth@redhat.com>
|
||||||
|
|
||||||
|
* config/alpha/alpha.md (sibcall_osf_1_er): New.
|
||||||
|
(sibcall_value_osf_1_er): New.
|
||||||
|
|
||||||
2001-12-15 Dan Nicolaescu <dann@ics.uci.edu>
|
2001-12-15 Dan Nicolaescu <dann@ics.uci.edu>
|
||||||
|
|
||||||
* config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
|
* config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
|
||||||
|
@ -4820,7 +4820,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
|
|||||||
"@
|
"@
|
||||||
jsr $26,(%0),0\;ldah $29,0($26)\t\t!gpdisp!%*\;lda $29,0($29)\t\t!gpdisp!%*
|
jsr $26,(%0),0\;ldah $29,0($26)\t\t!gpdisp!%*\;lda $29,0($29)\t\t!gpdisp!%*
|
||||||
bsr $26,$%0..ng
|
bsr $26,$%0..ng
|
||||||
ldq $27,%0($29)\t\t!literal!%#\;jsr $26,($27),0\t\t!lituse_jsr!%#\;ldah $29,0($26)\t\t!gpdisp!%*\;lda $29,0($29)\t\t!gpdisp!%*"
|
ldq $27,%0($29)\t\t!literal!%#\;jsr $26,($27),%0\t\t!lituse_jsr!%#\;ldah $29,0($26)\t\t!gpdisp!%*\;lda $29,0($29)\t\t!gpdisp!%*"
|
||||||
[(set_attr "type" "jsr")
|
[(set_attr "type" "jsr")
|
||||||
(set_attr "length" "12,*,16")])
|
(set_attr "length" "12,*,16")])
|
||||||
|
|
||||||
@ -4925,11 +4925,22 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
|
|||||||
|
|
||||||
;; Note that the DEC assembler expands "jmp foo" with $at, which
|
;; Note that the DEC assembler expands "jmp foo" with $at, which
|
||||||
;; doesn't do what we want.
|
;; doesn't do what we want.
|
||||||
|
(define_insn "*sibcall_osf_1_er"
|
||||||
|
[(call (mem:DI (match_operand:DI 0 "symbolic_operand" "R,s"))
|
||||||
|
(match_operand 1 "" ""))
|
||||||
|
(use (reg:DI 29))]
|
||||||
|
"TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF"
|
||||||
|
"@
|
||||||
|
br $31,$%0..ng
|
||||||
|
ldq $27,%0($29)\t\t!literal!%#\;jmp $31,($27),%0\t\t!lituse_jsr!%#"
|
||||||
|
[(set_attr "type" "jsr")
|
||||||
|
(set_attr "length" "*,8")])
|
||||||
|
|
||||||
(define_insn "*sibcall_osf_1"
|
(define_insn "*sibcall_osf_1"
|
||||||
[(call (mem:DI (match_operand:DI 0 "symbolic_operand" "R,s"))
|
[(call (mem:DI (match_operand:DI 0 "symbolic_operand" "R,s"))
|
||||||
(match_operand 1 "" ""))
|
(match_operand 1 "" ""))
|
||||||
(use (reg:DI 29))]
|
(use (reg:DI 29))]
|
||||||
"TARGET_ABI_OSF"
|
"! TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF"
|
||||||
"@
|
"@
|
||||||
br $31,$%0..ng
|
br $31,$%0..ng
|
||||||
lda $27,%0\;jmp $31,($27),%0"
|
lda $27,%0\;jmp $31,($27),%0"
|
||||||
@ -6920,12 +6931,24 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
|
|||||||
[(set_attr "type" "jsr")
|
[(set_attr "type" "jsr")
|
||||||
(set_attr "length" "12,*,16")])
|
(set_attr "length" "12,*,16")])
|
||||||
|
|
||||||
|
(define_insn "*sibcall_value_osf_1_er"
|
||||||
|
[(set (match_operand 0 "" "")
|
||||||
|
(call (mem:DI (match_operand:DI 1 "symbolic_operand" "R,s"))
|
||||||
|
(match_operand 2 "" "")))
|
||||||
|
(use (reg:DI 29))]
|
||||||
|
"TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF"
|
||||||
|
"@
|
||||||
|
br $31,$%1..ng
|
||||||
|
ldq $27,%1($29)\t\t!literal!%#\;jmp $31,($27),%1\t\t!lituse_jsr!%#"
|
||||||
|
[(set_attr "type" "jsr")
|
||||||
|
(set_attr "length" "*,8")])
|
||||||
|
|
||||||
(define_insn "*sibcall_value_osf_1"
|
(define_insn "*sibcall_value_osf_1"
|
||||||
[(set (match_operand 0 "" "")
|
[(set (match_operand 0 "" "")
|
||||||
(call (mem:DI (match_operand:DI 1 "symbolic_operand" "R,s"))
|
(call (mem:DI (match_operand:DI 1 "symbolic_operand" "R,s"))
|
||||||
(match_operand 2 "" "")))
|
(match_operand 2 "" "")))
|
||||||
(use (reg:DI 29))]
|
(use (reg:DI 29))]
|
||||||
"TARGET_ABI_OSF"
|
"! TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF"
|
||||||
"@
|
"@
|
||||||
br $31,$%1..ng
|
br $31,$%1..ng
|
||||||
lda $27,%1\;jmp $31,($27),%1"
|
lda $27,%1\;jmp $31,($27),%1"
|
||||||
|
Loading…
Reference in New Issue
Block a user