]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/testsuite/ChangeLog
PR target/67400
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 22 Jun 2016 22:06:56 +0000 (22:06 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 22 Jun 2016 22:06:56 +0000 (22:06 +0000)
commit0941fba8db61319d716450400bf01bff0af65a0a
tree218b567e6839bc92c4214e608198c378c7df8cd5
parent27ddb23e10628bf0fa8ac05343bc854ad7aca56f
PR target/67400
* config/i386/i386-protos.h (ix86_force_load_from_GOT_p): New.
* config/i386/i386.c (ix86_force_load_from_GOT_p): New function.
(ix86_legitimate_constant_p): Do not allow UNSPEC_GOTPCREL if
ix86_force_load_from_GOT_p returns true.
(ix86_legitimate_address_p): Allow UNSPEC_GOTPCREL if
ix86_force_load_from_GOT_p returns true.
(ix86_print_operand_address_as): Support UNSPEC_GOTPCREL if
ix86_force_load_from_GOT_p returns true.
(ix86_expand_move): Load the external function address via the
GOT slot if ix86_force_load_from_GOT_p returns true.
* config/i386/predicates.md (x86_64_immediate_operand): Return
false for SYMBOL_REFs where ix86_force_load_from_GOT_p returns true.
(x86_64_zext_immediate_operand): Ditto.

testsuite/ChangeLog:

PR target/67400
        * gcc.target/i386/pr67400-1.c: New test.
        * gcc.target/i386/pr67400-2.c: Likewise.
        * gcc.target/i386/pr67400-3.c: Likewise.
        * gcc.target/i386/pr67400-4.c: Likewise.
        * gcc.target/i386/pr67400-5.c: Likewise.
        * gcc.target/i386/pr67400-6.c: Likewise.
        * gcc.target/i386/pr67400-7.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237720 138bc75d-0d04-0410-961f-82ee72b054a4
12 files changed:
gcc/ChangeLog
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/predicates.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr67400-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr67400-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr67400-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr67400-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr67400-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr67400-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr67400-7.c [new file with mode: 0644]