Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Unified Diff: third_party/yasm/patched-yasm/modules/arch/x86/x86arch.h

Issue 6170009: Update our yasm copy to yasm 1.1.0 (Part 1: yasm side)... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/
Patch Set: Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/yasm/patched-yasm/modules/arch/x86/x86arch.h
===================================================================
--- third_party/yasm/patched-yasm/modules/arch/x86/x86arch.h (revision 71129)
+++ third_party/yasm/patched-yasm/modules/arch/x86/x86arch.h (working copy)
@@ -1,4 +1,4 @@
-/* $Id: x86arch.h 2181 2009-03-20 07:36:49Z peter $
+/* $Id: x86arch.h 2346 2010-08-01 01:37:37Z peter $
* x86 Architecture header file
*
* Copyright (C) 2001-2007 Peter Johnson
@@ -64,14 +64,29 @@
#define CPU_SSE41 30 /* Streaming SIMD extensions 4.1 required */
#define CPU_SSE42 31 /* Streaming SIMD extensions 4.2 required */
#define CPU_SSE4a 32 /* AMD Streaming SIMD extensions 4a required */
-#define CPU_SSE5 33 /* AMD Streaming SIMD extensions 5 required */
-#define CPU_XSAVE 34 /* Intel XSAVE instructions */
-#define CPU_AVX 35 /* Intel Advanced Vector Extensions */
-#define CPU_FMA 36 /* Intel Fused-Multiply-Add Extensions */
-#define CPU_AES 37 /* AES instruction */
-#define CPU_CLMUL 38 /* PCLMULQDQ instruction */
-#define CPU_MOVBE 39 /* MOVBE instruction */
+#define CPU_XSAVE 33 /* Intel XSAVE instructions */
+#define CPU_AVX 34 /* Intel Advanced Vector Extensions */
+#define CPU_FMA 35 /* Intel Fused-Multiply-Add Extensions */
+#define CPU_AES 36 /* AES instruction */
+#define CPU_CLMUL 37 /* PCLMULQDQ instruction */
+#define CPU_MOVBE 38 /* MOVBE instruction */
+#define CPU_XOP 39 /* AMD XOP extensions */
+#define CPU_FMA4 40 /* AMD Fused-Multiply-Add extensions */
+#define CPU_F16C 41 /* Intel float-16 instructions */
+#define CPU_FSGSBASE 42 /* Intel FSGSBASE instructions */
+#define CPU_RDRAND 43 /* Intel RDRAND instruction */
+#define CPU_XSAVEOPT 44 /* Intel XSAVEOPT instruction */
+#define CPU_EPTVPID 45 /* Intel INVEPT, INVVPID instructions */
+#define CPU_SMX 46 /* Intel SMX instruction (GETSEC) */
+enum x86_parser_type {
+ X86_PARSER_NASM = 0,
+ X86_PARSER_TASM = 1,
+ X86_PARSER_GAS = 2
+};
+
+#define PARSER(arch) (((arch)->parser == X86_PARSER_GAS && (arch)->gas_intel_mode) ? X86_PARSER_NASM : (arch)->parser)
+
typedef struct yasm_arch_x86 {
yasm_arch_base arch; /* base structure */
@@ -81,14 +96,11 @@
wordptr *cpu_enables;
unsigned int amd64_machine;
- enum {
- X86_PARSER_NASM = 0,
- X86_PARSER_TASM = 1,
- X86_PARSER_GAS = 2
- } parser;
+ enum x86_parser_type parser;
unsigned int mode_bits;
unsigned int force_strict;
unsigned int default_rel;
+ unsigned int gas_intel_mode;
enum {
X86_NOP_BASIC = 0,
@@ -152,9 +164,9 @@
* indicates bit of REX to use if REX is needed. Will not modify REX if not
* in 64-bit mode or if it wasn't needed to express reg.
*/
-int yasm_x86__set_rex_from_reg(unsigned char *rex, unsigned char *drex,
- unsigned char *low3, uintptr_t reg,
- unsigned int bits, x86_rex_bit_pos rexbit);
+int yasm_x86__set_rex_from_reg(unsigned char *rex, unsigned char *low3,
+ uintptr_t reg, unsigned int bits,
+ x86_rex_bit_pos rexbit);
/* Effective address type */
typedef struct x86_effaddr {
@@ -172,19 +184,14 @@
unsigned char valid_sib; /* 1 if SIB byte currently valid, 0 if not */
unsigned char need_sib; /* 1 if SIB byte needed, 0 if not,
0xff if unknown */
-
- unsigned char drex; /* DREX SSE5 extension byte */
- unsigned char need_drex; /* 1 if DREX byte needed, 0 if not */
} x86_effaddr;
void yasm_x86__ea_init(x86_effaddr *x86_ea, unsigned int spare,
- unsigned int drex, unsigned int need_drex,
yasm_bytecode *precbc);
void yasm_x86__ea_set_disponly(x86_effaddr *x86_ea);
x86_effaddr *yasm_x86__ea_create_reg(x86_effaddr *x86_ea, unsigned long reg,
- unsigned char *rex, unsigned char *drex,
- unsigned int bits);
+ unsigned char *rex, unsigned int bits);
x86_effaddr *yasm_x86__ea_create_imm
(x86_effaddr *x86_ea, /*@keep@*/ yasm_expr *imm, unsigned int im_len);
yasm_effaddr *yasm_x86__ea_create_expr(yasm_arch *arch,

Powered by Google App Engine
This is Rietveld 408576698