diff options
author | Ilya Tocar <ilya.tocar@intel.com> | 2015-04-01 16:48:38 +0300 |
---|---|---|
committer | Ilya Tocar <ilya.tocar@intel.com> | 2015-04-01 16:52:09 +0300 |
commit | c4fc4724a6afd605692b24c0af24c7e234dc5ace (patch) | |
tree | ef7b18e27f5dcaffe75a1d7bf68dc0ec0349d88a /gold/testsuite/i386_mov_to_lea1.s | |
parent | 918357b9556c9eaf81129ea6691bb6e461e80f86 (diff) | |
download | gdb-c4fc4724a6afd605692b24c0af24c7e234dc5ace.zip gdb-c4fc4724a6afd605692b24c0af24c7e234dc5ace.tar.gz gdb-c4fc4724a6afd605692b24c0af24c7e234dc5ace.tar.bz2 |
Convert mov foo@GOT(%reg), %reg to lea foo@GOTOFF(%reg), %reg
2015-04-01 Ilya Tocar <ilya.tocar@intel.com>
PR gold/17640
* i386.cc (Target_i386::can_convert_mov_to_lea): New.
(Target_i386::Scan::local): Don't create GOT entry, when we
can convert GOT to GOTOFF.
(Target_i386::Scan::global): Ditto.
(Target_i386::Relocate::relocate): Convert mov foo@GOT(%reg), %reg to
lea foo@GOTOFF(%reg), %reg if possible.
* testsuite/Makefile.am (i386_mov_to_lea): New test.
* testsuite/i386_mov_to_lea1.s: New.
* testsuite/i386_mov_to_lea2.s: Ditto.
* testsuite/i386_mov_to_lea3.s: Ditto.
* testsuite/i386_mov_to_lea4.s: Ditto.
* testsuite/i386_mov_to_lea5.s: Ditto.
* testsuite/i386_mov_to_lea.sh: Ditto.
Diffstat (limited to 'gold/testsuite/i386_mov_to_lea1.s')
-rw-r--r-- | gold/testsuite/i386_mov_to_lea1.s | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gold/testsuite/i386_mov_to_lea1.s b/gold/testsuite/i386_mov_to_lea1.s new file mode 100644 index 0000000..6d0f436 --- /dev/null +++ b/gold/testsuite/i386_mov_to_lea1.s @@ -0,0 +1,11 @@ + .text + .globl foo + .type foo, @function +foo: + ret + .size foo, .-foo + .globl bar + .type bar, @function +bar: + movl foo@GOT(%ecx), %eax + .size bar, .-bar |