libc/include
H.J. Lu ea96df1d4c 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:39 +00:00
..
aout Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
cgen * basic-modes.h (MAKEDI): New macro. 2010-01-06 05:25:24 +00:00
coff Fix spelling mistakes. 2011-06-02 13:43:23 +00:00
elf Move ELF header entries to elf/ChangeLog 2012-01-31 20:00:16 +00:00
gdb Add support to GDB for the Renesas rl78 architecture. 2012-02-04 06:05:50 +00:00
mach-o add indirect_symbol to mach-o port. 2012-01-12 14:03:12 +00:00
nlm Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
opcode Implement Intel Transactional Synchronization Extensions 2012-02-08 18:20:39 +00:00
som include/som: 2010-06-10 08:31:20 +00:00
vms 2010-05-27 Tristan Gingold <gingold@adacore.com> 2010-05-27 10:37:23 +00:00
COPYING Update the address and phone number of the FSF organization 2005-05-10 10:21:13 +00:00
COPYING3 * COPYING3: New file. Contains version 3 of the GNU General Public License. 2007-07-17 13:50:23 +00:00
ChangeLog Move ELF header entries to elf/ChangeLog 2012-01-31 20:00:16 +00:00
ChangeLog-9103 Sync include/ChangeLog-9103 from GCC to fix invalid UTF-8. 2009-08-16 12:06:21 +00:00
MAINTAINERS
alloca-conf.h * alloca-conf.h: Clarify comment. 2009-11-18 11:57:44 +00:00
ansidecl.h * obstack.h [!GNUC] (obstack_free): Avoid cast to int. 2011-10-22 01:35:29 +00:00
bfdlink.h Support arch-dependent fill 2012-01-31 17:54:39 +00:00
binary-io.h * binary-io.h: New file, imported from gnulib, but don't 2008-08-25 04:36:03 +00:00
bout.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
demangle.h merge from gcc 2012-01-07 02:53:16 +00:00
dis-asm.h [.] 2011-11-02 03:09:07 +00:00
dwarf2.h * dwarf2.h (enum dwarf_form): Add Fission extensions. 2012-01-26 22:57:17 +00:00
dyn-string.h merge from gcc 2009-06-01 19:40:32 +00:00
fibheap.h merge from gcc 2009-06-01 19:40:32 +00:00
filenames.h [libiberty/filename_cmp] Darwin has case-insensitive filesystems 2011-07-01 18:24:38 +00:00
floatformat.h merge from gcc 2011-01-03 21:05:50 +00:00
fnmatch.h Update the address and phone number of the FSF organization 2005-05-10 10:21:13 +00:00
fopen-bin.h
fopen-same.h
fopen-vms.h 2009-05-25 Tristan Gingold <gingold@adacore.com> 2009-05-25 13:04:40 +00:00
gdbm.h Update the address and phone number of the FSF organization 2005-05-10 10:21:13 +00:00
getopt.h Update the address and phone number of the FSF organization 2005-05-10 10:21:13 +00:00
hashtab.h merge from gcc 2010-06-10 18:30:17 +00:00
hp-symtab.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
ieee.h Update the address and phone number of the FSF organization 2005-05-10 10:21:13 +00:00
libiberty.h merge from gcc 2011-09-28 20:01:37 +00:00
lto-symtab.h merge from gcc 2009-10-07 02:57:27 +00:00
md5.h Bring patch correction over from gcc repository. 2008-03-25 00:21:18 +00:00
oasys.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
objalloc.h Update the address and phone number of the FSF organization 2005-05-10 10:21:13 +00:00
obstack.h * obstack.h [!GNUC] (obstack_free): Avoid cast to int. 2011-10-22 01:35:29 +00:00
os9k.h Update the address and phone number of the FSF organization 2005-05-10 10:21:13 +00:00
partition.h Update the address and phone number of the FSF organization 2005-05-10 10:21:13 +00:00
plugin-api.h merge from gcc 2011-09-27 00:01:35 +00:00
progress.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
safe-ctype.h * safe-ctype.h: Add #include of ctype.h before redefining 2008-07-07 17:09:31 +00:00
sha1.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
simple-object.h merge from gcc 2010-11-17 02:03:39 +00:00
sort.h Update the address and phone number of the FSF organization 2005-05-10 10:21:13 +00:00
splay-tree.h merge from gcc 2010-06-10 18:30:17 +00:00
symcat.h * symcat.h (CONCAT5, CONCAT6, XCONCAT5, XCONCAT6): Define. 2010-03-23 15:58:51 +00:00
timeval-utils.h merge from gcc 2011-09-28 20:01:37 +00:00
xregex.h merge from gcc 2011-07-25 17:11:44 +00:00
xregex2.h merge from gcc 2005-07-12 10:34:51 +00:00
xtensa-config.h merge from gcc 2011-01-03 21:05:50 +00:00
xtensa-isa-internal.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
xtensa-isa.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00