summaryrefslogtreecommitdiff
path: root/gcc/config/i386/i386.md
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2009-01-28 07:58:07 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2009-01-28 07:58:07 +0000
commit8d4c7d80d4b791c5c1cf498c56f2c79d5b444204 (patch)
tree22d772700f3757151c7b5371beb5830a588089c2 /gcc/config/i386/i386.md
parent2687629f9a418bda7541b5fbff8bc6f2a8da9f49 (diff)
downloadgcc-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.md6
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")