aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2009-07-21 17:50:21 +0000
committerH.J. Lu <hjl.tools@gmail.com>2009-07-21 17:50:21 +0000
commit711eedefee89e6a9cb45e4967a523a7f9d516751 (patch)
tree8c5a4909031f2b16ed1883562bbf8083af0d6d9c /gas/config
parent1caf2c519abe91ba39180d491e176c38c77ba61c (diff)
downloadgdb-711eedefee89e6a9cb45e4967a523a7f9d516751.zip
gdb-711eedefee89e6a9cb45e4967a523a7f9d516751.tar.gz
gdb-711eedefee89e6a9cb45e4967a523a7f9d516751.tar.bz2
gas/
2009-07-21 H.J. Lu <hongjiu.lu@intel.com> PR gas/10420 * config/tc-i386.c (i386_align_code): Tune for 32bit nops in 64bit. (i386_target_format): Set cpu_arch_isa_flags.bitfield.cpulm for 64bit. gas/testsuite/ 2009-07-21 H.J. Lu <hongjiu.lu@intel.com> PR gas/10420 * gas/i386/i386.exp: Run x86-64-nops-1-pentium. * gas/i386/x86-64-nops-1-pentium.d: New.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-i386.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index d00424a..42a95ff 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -1042,8 +1042,16 @@ i386_align_code (fragS *fragP, int count)
{
/* If the padding is less than 15 bytes, we use the normal
ones. Otherwise, we use a jump instruction and adjust
- its offset. */
- if (count < 15)
+ its offset. */
+ int limit;
+
+ /* For 64bit, the limit is 3 bytes. */
+ if (flag_code == CODE_64BIT
+ && fragP->tc_frag_data.isa_flags.bitfield.cpulm)
+ limit = 3;
+ else
+ limit = 15;
+ if (count < limit)
memcpy (fragP->fr_literal + fragP->fr_fix,
patt[count - 1], count);
else
@@ -7935,6 +7943,7 @@ i386_target_format (void)
cpu_arch_isa_flags.bitfield.cpummx= 1;
cpu_arch_isa_flags.bitfield.cpusse = 1;
cpu_arch_isa_flags.bitfield.cpusse2 = 1;
+ cpu_arch_isa_flags.bitfield.cpulm = 1;
}
if (cpu_flags_all_zero (&cpu_arch_tune_flags))
{