diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-01-28 07:58:07 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-01-28 07:58:07 +0000 |
commit | 8d4c7d80d4b791c5c1cf498c56f2c79d5b444204 (patch) | |
tree | 22d772700f3757151c7b5371beb5830a588089c2 /gcc/config/i386/i386.md | |
parent | 2687629f9a418bda7541b5fbff8bc6f2a8da9f49 (diff) | |
download | gcc-8d4c7d80d4b791c5c1cf498c56f2c79d5b444204.tar.gz |
PR target/38988
* config/i386/i386.md (set_rip_rex64): Wrap operand 1 in label_ref.
(set_got_offset_rex64): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143720 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/i386.md')
-rw-r--r-- | gcc/config/i386/i386.md | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 6543cf5ec57..89a3b17607b 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -15299,7 +15299,7 @@ (define_insn "set_rip_rex64" [(set (match_operand:DI 0 "register_operand" "=r") - (unspec:DI [(match_operand:DI 1 "" "")] UNSPEC_SET_RIP))] + (unspec:DI [(label_ref (match_operand 1 "" ""))] UNSPEC_SET_RIP))] "TARGET_64BIT" "lea{q}\t{%l1(%%rip), %0|%0, %l1[rip]}" [(set_attr "type" "lea") @@ -15307,7 +15307,9 @@ (define_insn "set_got_offset_rex64" [(set (match_operand:DI 0 "register_operand" "=r") - (unspec:DI [(match_operand:DI 1 "" "")] UNSPEC_SET_GOT_OFFSET))] + (unspec:DI + [(label_ref (match_operand 1 "" ""))] + UNSPEC_SET_GOT_OFFSET))] "TARGET_64BIT" "movabs{q}\t{$_GLOBAL_OFFSET_TABLE_-%l1, %0|%0, OFFSET FLAT:_GLOBAL_OFFSET_TABLE_-%l1}" [(set_attr "type" "imov") |