Add HLEPrefixNone/HLEPrefixLock/HLEPrefixAny/HLEPrefixRelease

gas/

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

	* config/tc-i386.c (check_hle): Use HLEPrefixNone, HLEPrefixLock,
	HLEPrefixAny and HLEPrefixRelease.

opcodes/

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

	* i386-opc.h (HLEPrefixNone): New.
	(HLEPrefixLock): Likewise.
	(HLEPrefixAny): Likewise.
	(HLEPrefixRelease): Likewise.
This commit is contained in:
H.J. Lu 2012-02-21 18:09:48 +00:00
parent 1bf10b0d9e
commit 82c2def5ff
4 changed files with 20 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2012-02-21 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (check_hle): Use HLEPrefixNone, HLEPrefixLock,
HLEPrefixAny and HLEPrefixRelease.
2012-02-21 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* gas/config/tc-arm.h (DOUBLESLASH_LINE_COMMENTS): Define.

View File

@ -3015,7 +3015,7 @@ check_hle (void)
{
default:
abort ();
case 0:
case HLEPrefixNone:
if (i.prefix[HLE_PREFIX] == XACQUIRE_PREFIX_OPCODE)
as_bad (_("invalid instruction `%s' after `xacquire'"),
i.tm.name);
@ -3023,7 +3023,7 @@ check_hle (void)
as_bad (_("invalid instruction `%s' after `xrelease'"),
i.tm.name);
return 0;
case 1:
case HLEPrefixLock:
if (i.prefix[LOCK_PREFIX])
return 1;
if (i.prefix[HLE_PREFIX] == XACQUIRE_PREFIX_OPCODE)
@ -3031,9 +3031,9 @@ check_hle (void)
else
as_bad (_("missing `lock' with `xrelease'"));
return 0;
case 2:
case HLEPrefixAny:
return 1;
case 3:
case HLEPrefixRelease:
if (i.prefix[HLE_PREFIX] != XRELEASE_PREFIX_OPCODE)
{
as_bad (_("instruction `%s' after `xacquire' not allowed"),

View File

@ -1,3 +1,10 @@
2012-02-21 H.J. Lu <hongjiu.lu@intel.com>
* i386-opc.h (HLEPrefixNone): New.
(HLEPrefixLock): Likewise.
(HLEPrefixAny): Likewise.
(HLEPrefixRelease): Likewise.
2012-02-08 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (HLE_Fixup1): New.

View File

@ -304,6 +304,10 @@ enum
2. With or without a LOCK prefix.
3. With a RELEASE (0xf3) prefix.
*/
#define HLEPrefixNone 0
#define HLEPrefixLock 1
#define HLEPrefixAny 2
#define HLEPrefixRelease 3
HLEPrefixOk,
/* Convert to DWORD */
ToDword,