gcc/
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Mar 2007 09:02:14 +0000 (09:02 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Mar 2007 09:02:14 +0000 (09:02 +0000)
commitf60a98e671374859ae46a238df899a228c628c33
treeeb38f6b5024536d2a0d27737e35ec58fac5d7355
parent2522d9ead13fadef65121e8aab6b112ee649cb3b
gcc/
* config/i386/i386.c (output_set_got): Add a GOT initialization
sequence for VxWorks PIC.
(legitimate_pic_address_disp_p): Allow UNSPEC_GOT wrappers
around labels as well as symbols.  Use gotoff_operand instead
of local_symbolic_operand.
(legitimize_pic_address): Use gotoff_operand instead of
local_symbolic_operand.  Use @GOT accesses for labels as
well as symbols.
(ix86_output_addr_diff_elt): Use PC-relative rather than
GP-relative offsets for VxWorks PIC.
(ix86_expand_move): Pass NULL_RTX to legitimize_pic_address unless
no_new_pseudos.  Check whether the returned register is op0.
* config/i386/i386.md (tablejump): Use PC-relative rather than
GP-relative offsets for VxWorks PIC.
* config/i386/predicates.md (gotoff_operand): New predicate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122654 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.md
gcc/config/i386/predicates.md