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
..
2011-11-25 09:19:07 +00:00
2010-12-09 09:03:18 +00:00
2010-05-07 12:28:50 +00:00
2009-09-02 07:25:43 +00:00
2010-06-27 04:07:55 +00:00
2009-09-02 07:25:43 +00:00
2009-09-25 19:13:27 +00:00
2011-10-18 14:41:55 +00:00
2011-07-01 16:11:27 +00:00
2011-03-24 05:27:39 +00:00
2011-12-15 10:21:51 +00:00
2010-06-27 04:07:55 +00:00
2009-10-24 00:17:08 +00:00
2009-09-02 07:25:43 +00:00
2010-02-12 04:42:28 +00:00
2010-01-07 18:05:45 +00:00
2009-12-11 13:42:17 +00:00
2009-06-14 16:36:56 +00:00
2012-02-08 18:20:41 +00:00
2010-01-01 18:06:10 +00:00
2011-01-01 16:43:53 +00:00
2012-01-05 10:09:39 +00:00
2009-08-22 16:56:56 +00:00
2011-11-02 12:02:22 +00:00
2009-09-01 13:16:53 +00:00
2011-11-02 12:02:22 +00:00
2012-01-16 23:51:35 +00:00
2010-04-06 15:41:43 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2009-12-11 13:42:17 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2009-12-11 13:42:17 +00:00
2009-06-04 06:57:56 +00:00
2010-03-23 15:59:45 +00:00
2009-09-02 07:25:43 +00:00
2011-11-02 03:09:11 +00:00
2010-09-10 13:00:54 +00:00
2011-10-26 12:46:04 +00:00
2011-10-25 11:18:16 +00:00
2011-10-25 11:18:16 +00:00
2011-10-25 11:18:16 +00:00
2011-10-25 11:18:16 +00:00
2011-10-25 11:18:16 +00:00
2011-10-26 12:46:04 +00:00
2010-06-27 04:07:55 +00:00
2010-02-12 03:25:49 +00:00
2010-10-09 06:50:23 +00:00
2010-02-12 04:42:28 +00:00
2010-01-07 18:05:45 +00:00
2010-02-12 03:25:49 +00:00
2010-01-02 18:50:59 +00:00
2011-12-15 10:21:51 +00:00
2010-02-12 03:25:49 +00:00
2010-10-09 06:50:23 +00:00
2010-02-12 04:42:28 +00:00
2010-01-07 18:05:45 +00:00
2010-10-08 14:00:50 +00:00
2010-01-02 18:50:59 +00:00
2010-06-27 04:07:55 +00:00
2009-12-11 13:42:17 +00:00
2009-09-02 07:25:43 +00:00
2010-12-31 16:43:46 +00:00
2012-02-08 18:20:41 +00:00
2012-02-08 18:20:41 +00:00
2012-02-08 18:20:41 +00:00
2012-02-08 18:20:41 +00:00
2012-02-08 18:20:41 +00:00
2009-09-02 07:25:43 +00:00
2012-02-08 18:20:41 +00:00
2009-09-02 07:25:43 +00:00
2009-12-11 13:42:17 +00:00
2009-09-02 07:25:43 +00:00
2009-09-05 07:56:26 +00:00
2009-12-11 13:42:17 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2009-12-11 13:42:17 +00:00
2010-06-27 04:07:55 +00:00
2010-02-12 03:25:49 +00:00
2010-10-09 06:50:23 +00:00
2010-02-12 04:42:28 +00:00
2010-01-07 18:05:45 +00:00
2010-02-12 03:25:49 +00:00
2010-01-02 18:50:59 +00:00
2010-06-27 04:07:55 +00:00
2010-02-12 03:25:49 +00:00
2010-10-09 06:50:23 +00:00
2010-02-12 04:42:28 +00:00
2010-01-07 18:05:45 +00:00
2010-02-12 03:25:49 +00:00
2010-01-02 18:50:59 +00:00
2010-06-27 04:07:55 +00:00
2010-02-12 03:25:49 +00:00
2010-10-09 06:50:23 +00:00
2010-02-12 04:42:28 +00:00
2010-01-07 18:05:45 +00:00
2010-02-12 03:25:49 +00:00
2010-01-02 18:50:59 +00:00
2010-02-13 04:38:57 +00:00
2010-06-27 04:07:55 +00:00
2010-02-12 03:25:49 +00:00
2010-10-09 06:50:23 +00:00
2010-02-12 04:42:28 +00:00
2010-07-03 04:09:56 +00:00
2010-02-12 03:25:49 +00:00
2010-01-02 18:50:59 +00:00
2010-06-27 04:07:55 +00:00
2010-02-12 04:42:28 +00:00
2010-10-09 06:50:23 +00:00
2010-02-12 04:42:28 +00:00
2010-01-07 18:05:45 +00:00
2010-02-12 03:25:49 +00:00
2010-01-02 18:50:59 +00:00
2010-02-12 03:25:49 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2010-06-16 15:12:51 +00:00
2012-01-16 23:19:20 +00:00
2009-09-05 07:56:26 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2011-11-02 03:09:11 +00:00
2011-11-02 03:09:11 +00:00
2009-09-01 13:16:53 +00:00
2009-12-11 13:42:17 +00:00
2009-09-02 07:25:43 +00:00
2010-06-27 04:07:55 +00:00
2010-02-12 03:25:49 +00:00
2010-10-09 06:50:23 +00:00
2010-06-28 14:41:59 +00:00
2010-01-07 18:05:45 +00:00
2010-10-09 06:50:23 +00:00
2010-01-02 18:50:59 +00:00
2009-12-11 13:42:17 +00:00
2009-10-07 15:40:17 +00:00
2009-08-06 17:38:04 +00:00
2009-08-06 17:38:04 +00:00
2011-11-16 12:24:08 +00:00
2011-07-24 14:04:51 +00:00
2011-12-08 20:47:27 +00:00
2011-12-08 20:52:42 +00:00
2009-12-11 13:42:17 +00:00
2009-09-02 07:25:43 +00:00
2009-06-11 11:27:58 +00:00
2010-02-03 12:47:06 +00:00
2010-06-27 04:07:55 +00:00
2010-06-27 04:07:55 +00:00
2010-02-12 03:25:49 +00:00
2010-10-09 06:50:23 +00:00
2010-02-12 04:42:28 +00:00
2010-01-07 18:05:45 +00:00
2010-02-12 03:25:49 +00:00
2010-01-02 18:50:59 +00:00
2009-12-11 13:42:17 +00:00
2009-10-05 13:14:55 +00:00
2010-06-27 04:07:55 +00:00
2010-02-12 03:25:49 +00:00
2010-10-09 06:50:23 +00:00
2010-02-12 04:42:28 +00:00
2010-01-07 18:05:45 +00:00
2010-02-12 03:25:49 +00:00
2010-01-02 18:50:59 +00:00
2009-09-02 07:25:43 +00:00
2010-10-08 14:00:50 +00:00
2010-10-08 14:00:50 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2011-12-13 08:19:02 +00:00
2011-12-13 08:19:02 +00:00
2012-01-31 00:22:52 +00:00
2012-01-25 01:40:11 +00:00
2011-11-02 03:09:11 +00:00
2011-04-21 05:48:06 +00:00
2011-04-21 05:48:06 +00:00
2011-01-12 07:06:29 +00:00
2010-09-27 13:33:00 +00:00
2010-09-30 16:02:35 +00:00
2011-05-24 16:13:31 +00:00
2011-10-21 12:50:30 +00:00
2009-06-22 00:01:57 +00:00
2009-06-22 00:01:57 +00:00
2009-09-02 07:25:43 +00:00
2009-12-11 13:42:17 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2011-08-05 16:52:50 +00:00
2011-09-27 04:30:32 +00:00
2009-12-11 13:42:17 +00:00
2009-09-02 07:25:43 +00:00
2010-10-25 15:33:54 +00:00
2009-12-11 13:42:17 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2009-09-05 07:56:26 +00:00
2011-06-13 15:18:54 +00:00
2011-06-29 20:46:11 +00:00
2011-06-13 15:18:54 +00:00
2011-06-29 20:46:11 +00:00
2011-04-13 13:20:24 +00:00
2011-05-19 11:10:59 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2010-06-27 04:07:55 +00:00
2010-02-12 03:25:49 +00:00
2010-10-09 06:50:23 +00:00
2010-02-12 04:42:28 +00:00
2010-01-07 18:05:45 +00:00
2010-02-12 03:25:49 +00:00
2010-01-02 18:50:59 +00:00
2010-06-27 04:07:55 +00:00
2010-02-12 03:25:49 +00:00
2010-10-09 06:50:23 +00:00
2010-02-12 04:42:28 +00:00
2010-01-07 18:05:45 +00:00
2010-02-12 03:25:49 +00:00
2010-01-02 18:50:59 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2009-09-08 09:47:52 +00:00
2009-09-08 09:47:52 +00:00
2009-09-02 07:25:43 +00:00