H.J. Lu f16cd0d502 Rewrite prefix processing.
gas/testsuite/

2009-11-13  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/i386/i386.exp: Run long-1, long-1-intel, x86-64-long-1,
	and x86-64-long-1-intel.

	* gas/i386/long-1-intel.d: New.
	* gas/i386/long-1.d: Likewise.
	* gas/i386/long-1.s: Likewise.
	* gas/i386/x86-64-long-1-intel.d: Likewise.
	* gas/i386/x86-64-long-1.d: Likewise.
	* gas/i386/x86-64-long-1.s: Likewise.

	* gas/i386/jump16.d: Updated for prefix processing.
	* gas/i386/naked.d: Likewise.
	* gas/i386/nops-1-core2.d: Likewise.
	* gas/i386/nops-1-i686.d: Likewise.
	* gas/i386/nops-3-i686.d: Likewise.
	* gas/i386/nops-4-i686.d: Likewise.
	* gas/i386/nops-5-i686.d: Likewise.
	* gas/i386/nops-5.d: Likewise.
	* gas/i386/prefix.d: Likewise.
	* gas/i386/rep.d: Likewise.
	* gas/i386/string-ok.d: Likewise.
	* gas/i386/x86-64-addr32-intel.d: Likewise.
	* gas/i386/x86-64-addr32.d: Likewise.
	* gas/i386/x86-64-cbw-intel.d: Likewise.
	* gas/i386/x86-64-cbw.d: Likewise.
	* gas/i386/x86-64-io-intel.d: Likewise.
	* gas/i386/x86-64-io-suffix.d: Likewise.
	* gas/i386/x86-64-io.d: Likewise.
	* gas/i386/x86-64-lwp.d: Likewise.
	* gas/i386/x86-64-nops-1-core2.d: Likewise.
	* gas/i386/x86-64-nops-1-nocona.d: Likewise.
	* gas/i386/x86-64-nops-1.d: Likewise.
	* gas/i386/x86-64-nops-2.d: Likewise.
	* gas/i386/x86-64-nops-3.d: Likewise.
	* gas/i386/x86-64-nops-4-core2.d: Likewise.
	* gas/i386/x86-64-nops-4.d: Likewise.
	* gas/i386/x86-64-nops-5-k8.d: Likewise.
	* gas/i386/x86-64-nops-5.d: Likewise.
	* gas/i386/x86-64-rep.d: Likewise.
	* gas/i386/x86-64-stack-intel.d: Likewise.
	* gas/i386/x86-64-stack-suffix.d: Likewise.
	* gas/i386/x86-64-stack.d: Likewise.

ld/testsuite/

2009-11-13  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-x86-64/tlsbin.dd: Updated for prefix processing.
	* ld-x86-64/tlsgdesc.dd: Likewise.
	* ld-x86-64/tlsld1.dd: Likewise.
	* ld-x86-64/tlspic.dd: Likewise.

opcodes/

2009-11-13  H.J. Lu  <hongjiu.lu@intel.com>

	* i386-dis.c (ckprefix): Updated to return 0 if number of
	prefixes > 14 and record the last position for each prefix.
	(lock_prefix): Removed.
	(data_prefix): Likewise.
	(addr_prefix): Likewise.
	(repz_prefix): Likewise.
	(repnz_prefix): Likewise.
	(last_lock_prefix): New.
	(last_repz_prefix): Likewise.
	(last_repnz_prefix): Likewise.
	(last_data_prefix): Likewise.
	(last_addr_prefix): Likewise.
	(last_rex_prefix): Likewise.
	(last_seg_prefix): Likewise.
	(MAX_CODE_LENGTH): Likewise.
	(ADDR16_PREFIX): Likewise.
	(ADDR32_PREFIX): Likewise.
	(DATA16_PREFIX): Likewise.
	(DATA32_PREFIX): Likewise.
	(REP_PREFIX): Likewise.
	(seg_prefix): Likewise.
	(all_prefixes): Change size to MAX_CODE_LENGTH - 1.
	(prefix_name): Handle ADDR16_PREFIX, ADDR32_PREFIX,
	DATA16_PREFIX, DATA32_PREFIX and REP_PREFIX.
	(get_valid_dis386): Updated.
	(OP_C): Likewise.
	(OP_Monitor): Likewise.
	(REP_Fixup): Likewise.
	(print_insn): Display all prefixes.
	(putop): Set PREFIX_DATA on used_prefixes only if it is used.
	(intel_operand_size): Likewise.
	(OP_E_register): Likewise.
	(OP_G): Likewise.
	(OP_REG): Likewise.
	(OP_IMREG): Likewise.
	(OP_I): Likewise.
	(OP_I64): Likewise.
	(OP_sI): Likewise.
	(CRC32_Fixup): Likewise.
	(MOVBE_Fixup): Likewise.
	(OP_E_memory): Set REFIX_DATA on used_prefixes when it is used
	in 16bit mode.
	(OP_J): Set REX_W used if it is used. Set PREFIX_DATA on
	used_prefixes only if it is used.
2009-11-13 20:42:10 +00:00
..
2009-11-11 09:36:08 +00:00
2009-09-02 07:25:43 +00:00
2007-07-05 09:49:03 +00:00
2009-09-02 07:25:43 +00:00
2007-07-05 09:49:03 +00:00
2007-10-04 13:43:16 +00:00
2009-11-12 14:49:45 +00:00
2009-09-04 04:29:42 +00:00
2009-09-02 07:25:43 +00:00
2008-12-23 19:10:25 +00:00
2009-10-24 00:17:08 +00:00
2009-09-02 07:25:43 +00:00
2008-12-23 19:10:25 +00:00
2008-12-23 19:10:25 +00:00
2009-03-18 11:47:18 +00:00
2009-11-13 20:42:10 +00:00
2006-01-16 23:15:07 +00:00
2006-01-16 23:15:07 +00:00
2008-01-03 05:27:55 +00:00
2009-01-06 01:03:27 +00:00
bfd
2009-09-29 14:17:19 +00:00
bfd
2009-09-29 14:17:19 +00:00
2009-06-15 15:24:52 +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
2007-07-05 09:49:03 +00:00
2009-09-02 07:25:43 +00:00
2007-07-05 09:49:03 +00:00
2007-07-05 09:49:03 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
bfd
2009-09-29 14:17:19 +00:00
2007-07-05 09:49:03 +00:00
2009-07-10 14:20:41 +00:00
2009-10-24 00:17:08 +00:00
2009-07-10 14:20:41 +00:00
2009-07-10 14:20:41 +00:00
2009-07-10 14:20:41 +00:00
2009-10-24 00:17:08 +00:00
2009-07-10 14:20:41 +00:00
2009-07-10 14:20:41 +00:00
2007-07-05 09:49:03 +00:00
2007-07-05 09:49:03 +00:00
2009-09-02 07:25:43 +00:00
2007-07-05 09:49:03 +00:00
2007-07-05 09:49:03 +00:00
2007-07-05 09:49:03 +00:00
2009-11-13 20:42:10 +00:00
2009-11-12 18:57:14 +00:00
2007-07-05 09:49:03 +00:00
2009-11-12 18:57:14 +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
2008-08-28 14:07:50 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2008-08-28 14:07:50 +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
2007-07-05 09:49:03 +00:00
2007-07-05 09:49:03 +00:00
2008-08-28 14:07:50 +00:00
2008-08-28 14:07:50 +00:00
2009-07-10 14:20:41 +00:00
2009-10-24 00:17:08 +00:00
2009-07-10 14:20:41 +00:00
2009-07-10 14:20:41 +00:00
2009-07-10 14:20:41 +00:00
2009-10-24 00:17:08 +00:00
2009-07-10 14:20:41 +00:00
2009-07-10 14:20:41 +00:00
2008-12-23 19:10:25 +00:00
2009-07-10 14:20:41 +00:00
2009-10-24 00:17:08 +00:00
2008-12-23 19:10:25 +00:00
2008-12-23 19:10:25 +00:00
2009-07-10 14:20:41 +00:00
2009-07-10 14:20:41 +00:00
2009-10-19 05:09:44 +00:00
2009-06-22 00:53:25 +00:00
2009-11-04 06:18:27 +00:00
2009-10-24 00:17:08 +00:00
2009-07-10 14:20:41 +00:00
2009-10-24 00:17:08 +00:00
2009-07-10 14:20:41 +00:00
2009-10-24 00:17:08 +00:00
2009-07-10 14:20:41 +00:00
2009-07-10 14:20:41 +00:00
2009-10-19 05:09:44 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2009-10-14 11:30:20 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2007-07-19 16:23:47 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 02:10:36 +00:00
2009-11-04 06:18:27 +00:00
2009-10-24 00:17:08 +00:00
2009-06-24 03:06:42 +00:00
2009-06-24 03:06:42 +00:00
2009-07-07 01:56:05 +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-01-20 07:22:30 +00:00
2009-07-10 14:20:41 +00:00
2009-10-24 00:17:08 +00:00
2009-01-20 07:22:30 +00:00
2009-07-10 14:20:41 +00:00
2009-07-10 14:20:41 +00:00
2007-07-05 09:49:03 +00:00
2009-07-10 14:20:41 +00:00
2009-10-24 00:17:08 +00:00
2009-10-19 05:09:44 +00:00
2009-07-10 14:20:41 +00:00
2009-07-10 14:20:41 +00:00
2009-09-02 07:25:43 +00:00
2007-07-05 09:49:03 +00:00
2007-07-05 09:49:03 +00:00
2009-09-02 07:25:43 +00:00
2007-07-05 09:49:03 +00:00
2009-09-02 07:25:43 +00:00
2009-10-02 14:42:42 +00:00
2009-10-02 14:42:42 +00:00
2009-11-05 02:31:40 +00:00
2009-11-05 00:38:45 +00:00
2009-11-05 00:38:45 +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
2007-07-05 09:49:03 +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
2007-07-05 09:49:03 +00:00
2009-09-02 07:25:43 +00:00
2009-09-02 07:25:43 +00:00
2007-07-05 09:49:03 +00:00
2007-07-05 09:49:03 +00:00
2009-09-02 07:25:43 +00:00
2007-07-05 09:49:03 +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
2007-07-05 09:49:03 +00:00
2007-07-05 09:49:03 +00:00
2007-07-05 09:49:03 +00:00
2009-09-02 07:25:43 +00:00
2007-07-05 09:49:03 +00:00
2009-09-02 07:25:43 +00:00
2009-10-19 05:09:44 +00:00
2009-10-24 00:17:08 +00:00
2009-07-10 14:20:41 +00:00
2009-07-10 14:20:41 +00:00
2009-07-10 14:20:41 +00:00
2009-10-24 00:17:08 +00:00
2009-07-10 14:20:41 +00:00
2009-07-10 14:20:41 +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