binutils-gdb/opcodes
H.J. Lu 42164a7195 Implement Intel Transactional Synchronization Extensions
gas/

2012-02-08  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (HLE_PREFIX): New.
	(check_hle): Likewise.
	(_i386_insn): Add have_hle.
	(cpu_arch): Add .hle and .rtm.
	(md_assemble): Call check_hle if i.have_hle isn't zero.
	(parse_insn): Set i.have_hle to 1 for HLE prefix.
	(output_jump): Support up to 2 byte opcode.

	* doc/c-i386.texi: Document hle/.hle and rtm/.rtm.

gas/testsuite/

2012-02-08  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/i386/hle-intel.d: New.
	* gas/i386/hle.d: Likewise.
	* gas/i386/hle.s: Likewise.
	* gas/i386/hlebad.l: Likewise.
	* gas/i386/hlebad.s: Likewise.
	* gas/i386/rtm-intel.d: Likewise.
	* gas/i386/rtm.d: Likewise.
	* gas/i386/rtm.s: Likewise.
	* gas/i386/x86-64-hle-intel.d: Likewise.
	* gas/i386/x86-64-hle.d: Likewise.
	* gas/i386/x86-64-hle.s: Likewise.
	* gas/i386/x86-64-hlebad.l: Likewise.
	* gas/i386/x86-64-hlebad.s: Likewise.
	* gas/i386/x86-64-rtm-intel.d: Likewise.
	* gas/i386/x86-64-rtm.d: Likewise.
	* gas/i386/x86-64-rtm.s: Likewise.

	* gas/i386/i386.exp: Run hle, hle-intel, hlebad x86-64-hle, rtm,
	rtm-intel, x86-64-hle-intel, x86-64-hlebad, x86-64-rtm and
	x86-64-rtm-intel.

include/opcode/

2012-02-08  H.J. Lu  <hongjiu.lu@intel.com>

	* i386.h (XACQUIRE_PREFIX_OPCODE): New.
	(XRELEASE_PREFIX_OPCODE): Likewise.

opcodes/

2012-02-08  H.J. Lu  <hongjiu.lu@intel.com>

	* i386-dis.c (HLE_Fixup1): New.
	(HLE_Fixup2): Likewise.
	(HLE_Fixup3): Likewise.
	(Ebh1): Likewise.
	(Evh1): Likewise.
	(Ebh2): Likewise.
	(Evh2): Likewise.
	(Ebh3): Likewise.
	(Evh3): Likewise.
	(MOD_C6_REG_7): Likewise.
	(MOD_C7_REG_7): Likewise.
	(RM_C6_REG_7): Likewise.
	(RM_C7_REG_7): Likewise.
	(XACQUIRE_PREFIX): Likewise.
	(XRELEASE_PREFIX): Likewise.
	(dis386): Use Ebh1/Evh1 on add, adc, and, btc, btr, bts,
	cmpxchg, dec, inc, neg, not, or, sbb, sub, xor and xadd. Use
	Ebh2/Evh2 on xchg.  Use Ebh3/Evh3 on mov.
	(reg_table): Use Ebh1/Evh1 on add, adc, and, dec, inc, neg,
	not, or, sbb, sub and xor.  Use Ebh3/Evh3 on mov.  Use
	MOD_C6_REG_7 and MOD_C7_REG_7.
	(mod_table): Add MOD_C6_REG_7 and MOD_C7_REG_7.
	(rm_table): Add RM_C6_REG_7 and RM_C7_REG_7.  Add xend and
	xtest.
	(prefix_name): Handle XACQUIRE_PREFIX and XRELEASE_PREFIX.
	(CMPXCHG8B_Fixup): Handle HLE prefix on cmpxchg8b.

	* i386-gen.c (cpu_flag_init): Add CPU_HLE_FLAGS and
	CPU_RTM_FLAGS.
	(cpu_flags): Add CpuHLE and CpuRTM.
	(opcode_modifiers): Add HLEPrefixOk.

	* i386-opc.h (CpuHLE): New.
	(CpuRTM): Likewise.
	(HLEPrefixOk): Likewise.
	(i386_cpu_flags): Add cpuhle and cpurtm.
	(i386_opcode_modifier): Add hleprefixok.

	* i386-opc.tbl: Add HLEPrefixOk=3 to mov.  Add HLEPrefixOk to
	add, adc, and, btc, btr, bts, cmpxchg, dec, inc, neg, not, or,
	sbb, sub, xor and xadd.  Add HLEPrefixOk=2 to xchg with memory
	operand.  Add xacquire, xrelease, xabort, xbegin, xend and
	xtest.
	* i386-init.h: Regenerated.
	* i386-tbl.h: Likewise.
2012-02-08 18:20:41 +00:00
..
po * po/it.po: Updated Italian translation. 2011-11-25 09:19:07 +00:00
.gitignore bfd/binutils/gas/gprof/ld/libiberty/opcodes: add .gitignore 2010-12-09 09:03:18 +00:00
aclocal.m4
alpha-dis.c
alpha-opc.c
arc-dis.c
arc-dis.h
arc-ext.c
arc-ext.h
arc-opc.c
arm-dis.c Jie Zhang <jie@codesourcery.com> 2011-10-18 14:41:55 +00:00
avr-dis.c PR binutils/12329 2011-07-01 16:11:27 +00:00
bfin-dis.c opcodes: blackfin: ignore (M) on MAC0-only dsp mac funcs 2011-03-24 05:27:39 +00:00
cgen-asm.c * frv.opc (parse_uhi16): Fix handling of %hi operator on 64-bit 2011-12-15 10:21:51 +00:00
cgen-asm.in
cgen-bitset.c
cgen-dis.c
cgen-dis.in
cgen-ibld.in
cgen-opc.c
cgen.sh
ChangeLog Implement Intel Transactional Synchronization Extensions 2012-02-08 18:20:41 +00:00
ChangeLog-0001
ChangeLog-0203
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010 Rotate binutils ChangeLogs. 2011-01-01 16:43:53 +00:00
ChangeLog-2011 Rotate ChangeLogs 2012-01-05 10:09:39 +00:00
ChangeLog-9297
ChangeLog-9899
config.in
configure * po/it.po: New Italian translation. 2011-11-02 12:02:22 +00:00
configure.com
configure.in * po/it.po: New Italian translation. 2011-11-02 12:02:22 +00:00
cr16-dis.c PR binutils/10173 2012-01-16 23:51:35 +00:00
cr16-opc.c
cris-dis.c
cris-opc.c
crx-dis.c
crx-opc.c
d10v-dis.c
d10v-opc.c
d30v-dis.c
d30v-opc.c
dep-in.sed
dis-buf.c
dis-init.c
disassemble.c [.] 2011-11-02 03:09:11 +00:00
dlx-dis.c
epiphany-asm.c cpu: 2011-10-26 12:46:04 +00:00
epiphany-desc.c bfd: 2011-10-25 11:18:16 +00:00
epiphany-desc.h bfd: 2011-10-25 11:18:16 +00:00
epiphany-dis.c bfd: 2011-10-25 11:18:16 +00:00
epiphany-ibld.c bfd: 2011-10-25 11:18:16 +00:00
epiphany-opc.c bfd: 2011-10-25 11:18:16 +00:00
epiphany-opc.h cpu: 2011-10-26 12:46:04 +00:00
fr30-asm.c
fr30-desc.c
fr30-desc.h
fr30-dis.c
fr30-ibld.c
fr30-opc.c
fr30-opc.h
frv-asm.c * frv.opc (parse_uhi16): Fix handling of %hi operator on 64-bit 2011-12-15 10:21:51 +00:00
frv-desc.c
frv-desc.h
frv-dis.c
frv-ibld.c
frv-opc.c
frv-opc.h
h8300-dis.c
h8500-dis.c
h8500-opc.h
hppa-dis.c PR gas/11395 2010-12-31 16:43:46 +00:00
i370-dis.c
i370-opc.c
i386-dis.c Implement Intel Transactional Synchronization Extensions 2012-02-08 18:20:41 +00:00
i386-gen.c Implement Intel Transactional Synchronization Extensions 2012-02-08 18:20:41 +00:00
i386-init.h Implement Intel Transactional Synchronization Extensions 2012-02-08 18:20:41 +00:00
i386-opc.c
i386-opc.h Implement Intel Transactional Synchronization Extensions 2012-02-08 18:20:41 +00:00
i386-opc.tbl Implement Intel Transactional Synchronization Extensions 2012-02-08 18:20:41 +00:00
i386-reg.tbl
i386-tbl.h Implement Intel Transactional Synchronization Extensions 2012-02-08 18:20:41 +00:00
i860-dis.c
i960-dis.c
ia64-asmtab.c
ia64-asmtab.h
ia64-dis.c
ia64-gen.c
ia64-ic.tbl
ia64-opc-a.c
ia64-opc-b.c
ia64-opc-d.c
ia64-opc-f.c
ia64-opc-i.c
ia64-opc-m.c
ia64-opc-x.c
ia64-opc.c
ia64-opc.h
ia64-raw.tbl
ia64-war.tbl
ia64-waw.tbl
ip2k-asm.c
ip2k-desc.c
ip2k-desc.h
ip2k-dis.c
ip2k-ibld.c
ip2k-opc.c
ip2k-opc.h
iq2000-asm.c
iq2000-desc.c
iq2000-desc.h
iq2000-dis.c
iq2000-ibld.c
iq2000-opc.c
iq2000-opc.h
lm32-asm.c
lm32-desc.c
lm32-desc.h
lm32-dis.c
lm32-ibld.c
lm32-opc.c
lm32-opc.h
lm32-opinst.c
m32c-asm.c
m32c-desc.c
m32c-desc.h
m32c-dis.c
m32c-ibld.c
m32c-opc.c
m32c-opc.h
m32r-asm.c
m32r-desc.c
m32r-desc.h
m32r-dis.c
m32r-ibld.c
m32r-opc.c
m32r-opc.h
m32r-opinst.c
m68hc11-dis.c
m68hc11-opc.c
m68k-dis.c
m68k-opc.c * gas/testsuite/gas/m68k/pmove.s, gas/testsuite/gas/m68k/pmove.d: New test. 2012-01-16 23:19:20 +00:00
m88k-dis.c
m10200-dis.c
m10200-opc.c
m10300-dis.c
m10300-opc.c
MAINTAINERS
Makefile.am [.] 2011-11-02 03:09:11 +00:00
Makefile.in [.] 2011-11-02 03:09:11 +00:00
makefile.vms
mcore-dis.c
mcore-opc.h
mep-asm.c
mep-desc.c
mep-desc.h
mep-dis.c
mep-ibld.c
mep-opc.c
mep-opc.h
microblaze-dis.c
microblaze-dis.h
microblaze-opc.h
microblaze-opcm.h
micromips-opc.c * micromips-opc.c (micromips_opcodes): Use NODS rather than TRAP 2011-11-16 12:24:08 +00:00
mips16-opc.c include/opcode/ 2011-07-24 14:04:51 +00:00
mips-dis.c bfd: 2011-12-08 20:47:27 +00:00
mips-opc.c opcodes: 2011-12-08 20:52:42 +00:00
mmix-dis.c
mmix-opc.c
moxie-dis.c
moxie-opc.c
msp430-dis.c
mt-asm.c
mt-desc.c
mt-desc.h
mt-dis.c
mt-ibld.c
mt-opc.c
mt-opc.h
ns32k-dis.c
opc2c.c
openrisc-asm.c
openrisc-desc.c
openrisc-desc.h
openrisc-dis.c
openrisc-ibld.c
openrisc-opc.c
openrisc-opc.h
opintl.h
or32-dis.c
or32-opc.c
pdp11-dis.c
pdp11-opc.c
pj-dis.c
pj-opc.c
ppc-dis.c * ppc-opc.c (ISA_V2): Define and use for relevant BO field tests. 2011-12-13 08:19:02 +00:00
ppc-opc.c * ppc-opc.c (ISA_V2): Define and use for relevant BO field tests. 2011-12-13 08:19:02 +00:00
rl78-decode.c * rl78-decode.opc (rl78_decode_opcode): Add NOT1. 2012-01-31 00:22:52 +00:00
rl78-decode.opc * rl78-decode.opc (rl78_decode_opcode): Add NOT1. 2012-01-25 01:40:11 +00:00
rl78-dis.c [.] 2011-11-02 03:09:11 +00:00
rx-decode.c * rx-decode.opc (rx_decode_opcode): Set the syntax for multi-byte NOPs. 2011-04-21 05:48:06 +00:00
rx-decode.opc * rx-decode.opc (rx_decode_opcode): Set the syntax for multi-byte NOPs. 2011-04-21 05:48:06 +00:00
rx-dis.c * rx-dis.c (print_insn_rx): Support RX_Operand_TwoReg. 2011-01-12 07:06:29 +00:00
s390-dis.c
s390-mkopc.c
s390-opc.c 2011-05-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2011-05-24 16:13:31 +00:00
s390-opc.txt 2011-10-21 Jan Glauber <jang@linux.vnet.ibm.com> 2011-10-21 12:50:30 +00:00
score7-dis.c
score-dis.c
score-opc.h
sh64-dis.c
sh64-opc.c
sh64-opc.h
sh-dis.c
sh-opc.h
sparc-dis.c include/opcode/ 2011-08-05 16:52:50 +00:00
sparc-opc.c opcodes/ 2011-09-27 04:30:32 +00:00
spu-dis.c
spu-opc.c
stamp-h.in
sysdep.h
tic4x-dis.c
tic6x-dis.c
tic30-dis.c
tic54x-dis.c
tic54x-opc.c
tic80-dis.c
tic80-opc.c
tilegx-dis.c * Makefile.am (ALL_MACHINES): Add cpu-tilegx.lo and cpu-tilepro.lo. 2011-06-13 15:18:54 +00:00
tilegx-opc.c Replace "index" with "i". 2011-06-29 20:46:11 +00:00
tilepro-dis.c * Makefile.am (ALL_MACHINES): Add cpu-tilegx.lo and cpu-tilepro.lo. 2011-06-13 15:18:54 +00:00
tilepro-opc.c Replace "index" with "i". 2011-06-29 20:46:11 +00:00
v850-dis.c * v850-dis.c (disassemble): Always print a closing square brace if 2011-04-13 13:20:24 +00:00
v850-opc.c * v850-opc.c (cmpf.[sd]): Reverse the order of the reg1 and reg2 2011-05-19 11:10:59 +00:00
vax-dis.c
w65-dis.c
w65-opc.h
xc16x-asm.c
xc16x-desc.c
xc16x-desc.h
xc16x-dis.c
xc16x-ibld.c
xc16x-opc.c
xc16x-opc.h
xstormy16-asm.c
xstormy16-desc.c
xstormy16-desc.h
xstormy16-dis.c
xstormy16-ibld.c
xstormy16-opc.c
xstormy16-opc.h
xtensa-dis.c
z8k-dis.c
z8k-opc.h
z8kgen.c
z80-dis.c