Commit 3ed27cf5 by David S. Miller Committed by David S. Miller

Explain why we don't use RDPC for sparc PIC register setup.

	* config/sparc/sparc.md (load_pcrel_sym<P:mode>): Explain why we
	don't use the "rd %pc" instruction on v9 for PIC register loads.

From-SVN: r184422
parent d1d7a85e
2012-02-20 David S. Miller <davem@davemloft.net>
* config/sparc/sparc.md (load_pcrel_sym<P:mode>): Explain why we
don't use the "rd %pc" instruction on v9 for PIC register loads.
2012-02-20 Aldy Hernandez <aldyh@redhat.com>
PR middle-end/52141
......
......@@ -1352,6 +1352,10 @@
;; Load in operand 0 the (absolute) address of operand 1, which is a symbolic
;; value subject to a PC-relative relocation. Operand 2 is a helper function
;; that adds the PC value at the call point to register #(operand 3).
;;
;; Even on V9 we use this call sequence with a stub, instead of "rd %pc, ..."
;; because the RDPC instruction is extremely expensive and incurs a complete
;; instruction pipeline flush.
(define_insn "load_pcrel_sym<P:mode>"
[(set (match_operand:P 0 "register_operand" "=r")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment