+2001-10-18 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.md (sibcall_osf_1): Load destination
+ address into $27 explicitly.
+ (sibcall_value_osf_1): Likewise.
+
Thu Oct 18 16:07:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
[(set_attr "type" "jsr")
(set_attr "length" "12,*,16")])
-;; Need 's' alternative for OSF/1, which implements profiling
-;; via linker tricks.
+;; Need 's' alternative for OSF/1, which implements profiling via linker
+;; tricks. Note that the DEC assembler expands "jmp foo" with $at, which
+;; doesn't do what we want.
(define_insn "*sibcall_osf_1"
[(call (mem:DI (match_operand:DI 0 "current_file_function_operand" "R,s"))
(match_operand 1 "" ""))
"TARGET_ABI_OSF"
"@
br $31,$%0..ng
- jmp $31,%0"
+ lda $27,%0\;jmp $31,($27),%0"
[(set_attr "type" "jsr")
(set_attr "length" "*,8")])
"TARGET_ABI_OSF"
"@
br $31,$%1..ng
- jmp $31,%1"
+ lda $27,%1\;jmp $31,($27),%1"
[(set_attr "type" "jsr")
(set_attr "length" "*,8")])