mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	830a802f91
Co-authored-by: Andrii Sokolov <andriy145@gmail.com>
Co-authored-by: sarvel <sarvel@protonmail.com>
		
	
		
			
				
	
	
		
			1193 lines
		
	
	
		
			72 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			1193 lines
		
	
	
		
			72 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Vim syntax file
 | 
						||
" Language:	NASM - The Netwide Assembler (v0.98)
 | 
						||
" Maintainer:	Andrii Sokolov	<andriy145@gmail.com>
 | 
						||
" Original Author:	Manuel M.H. Stol	<Manuel.Stol@allieddata.nl>
 | 
						||
" Former Maintainer:	Manuel M.H. Stol	<Manuel.Stol@allieddata.nl>
 | 
						||
" Contributors:
 | 
						||
" 	Leonard König <leonard.r.koenig@gmail.com> (C string highlighting),
 | 
						||
" 	Peter Stanhope <dev.rptr@gmail.com> (Add missing 64-bit mode registers)
 | 
						||
" 	Frédéric Hamel <frederic.hamel123@gmail.com> (F16c support, partial AVX
 | 
						||
" 						     support, other)
 | 
						||
"	sarvel <sarvel@protonmail.com> (Complete set of supported instructions)
 | 
						||
" Last Change:	2024 Oct 8
 | 
						||
" NASM Home:	http://www.nasm.us/
 | 
						||
 | 
						||
 | 
						||
" Setup Syntax:
 | 
						||
" quit when a syntax file was already loaded
 | 
						||
if exists("b:current_syntax")
 | 
						||
  finish
 | 
						||
endif
 | 
						||
"  Assembler syntax is case insensetive
 | 
						||
syn case ignore
 | 
						||
 | 
						||
 | 
						||
" Vim search and movement commands on identifers
 | 
						||
"  Comments at start of a line inside which to skip search for indentifiers
 | 
						||
setlocal comments=:;
 | 
						||
"  Identifier Keyword characters (defines \k)
 | 
						||
setlocal iskeyword=@,48-57,#,$,.,?,@-@,_,~
 | 
						||
 | 
						||
 | 
						||
" Comments:
 | 
						||
syn region  nasmComment		start=";" keepend end="$" contains=@nasmGrpInComments
 | 
						||
syn region  nasmSpecialComment	start=";\*\*\*" keepend end="$"
 | 
						||
syn keyword nasmInCommentTodo	contained TODO FIXME XXX[XXXXX]
 | 
						||
syn cluster nasmGrpInComments	contains=nasmInCommentTodo
 | 
						||
syn cluster nasmGrpComments	contains=@nasmGrpInComments,nasmComment,nasmSpecialComment
 | 
						||
 | 
						||
 | 
						||
 | 
						||
" Label Identifiers:
 | 
						||
"  in NASM: 'Everything is a Label'
 | 
						||
"  Definition Label = label defined by %[i]define or %[i]assign
 | 
						||
"  Identifier Label = label defined as first non-keyword on a line or %[i]macro
 | 
						||
syn match   nasmLabelError	"$\=\(\d\+\K\|[#.@]\|\$\$\k\)\k*\>"
 | 
						||
syn match   nasmLabel		"\<\(\h\|[?@]\)\k*\>"
 | 
						||
syn match   nasmLabel		"[\$\~]\(\h\|[?@]\)\k*\>"lc=1
 | 
						||
"  Labels starting with one or two '.' are special
 | 
						||
syn match   nasmLocalLabel	"\<\.\(\w\|[#$?@~]\)\k*\>"
 | 
						||
syn match   nasmLocalLabel	"\<\$\.\(\w\|[#$?@~]\)\k*\>"ms=s+1
 | 
						||
if !exists("nasm_no_warn")
 | 
						||
  syn match  nasmLabelWarn	"\<\~\=\$\=[_.][_.\~]*\>"
 | 
						||
endif
 | 
						||
if exists("nasm_loose_syntax")
 | 
						||
  syn match   nasmSpecialLabel	"\<\.\.@\k\+\>"
 | 
						||
  syn match   nasmSpecialLabel	"\<\$\.\.@\k\+\>"ms=s+1
 | 
						||
  if !exists("nasm_no_warn")
 | 
						||
    syn match   nasmLabelWarn	"\<\$\=\.\.@\(\d\|[#$\.~]\)\k*\>"
 | 
						||
  endif
 | 
						||
  " disallow use of nasm internal label format
 | 
						||
  syn match   nasmLabelError	"\<\$\=\.\.@\d\+\.\k*\>"
 | 
						||
else
 | 
						||
  syn match   nasmSpecialLabel	"\<\.\.@\(\h\|[?@]\)\k*\>"
 | 
						||
  syn match   nasmSpecialLabel	"\<\$\.\.@\(\h\|[?@]\)\k*\>"ms=s+1
 | 
						||
endif
 | 
						||
"  Labels can be dereferenced with '$' to destinguish them from reserved words
 | 
						||
syn match   nasmLabelError	"\<\$\K\k*\s*:"
 | 
						||
syn match   nasmLabelError	"^\s*\$\K\k*\>"
 | 
						||
syn match   nasmLabelError	"\<\~\s*\(\k*\s*:\|\$\=\.\k*\)"
 | 
						||
 | 
						||
 | 
						||
 | 
						||
" Constants:
 | 
						||
syn match   nasmStringError	+["'`]+
 | 
						||
" NASM is case sensitive here: eg. u-prefix allows for 4-digit, U-prefix for
 | 
						||
" 8-digit Unicode characters
 | 
						||
syn case match
 | 
						||
" one-char escape-sequences
 | 
						||
syn match   nasmCStringEscape  display contained "\\[’"‘\\\?abtnvfre]"
 | 
						||
" hex and octal numbers
 | 
						||
syn match   nasmCStringEscape  display contained "\\\(x\x\{2}\|\o\{1,3}\)"
 | 
						||
" Unicode characters
 | 
						||
syn match   nasmCStringEscape	display contained "\\\(u\x\{4}\|U\x\{8}\)"
 | 
						||
" ISO C99 format strings (copied from cFormat in runtime/syntax/c.vim)
 | 
						||
syn match   nasmCStringFormat	display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlLjzt]\|ll\|hh\)\=\([aAbdiuoxXDOUfFeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
 | 
						||
syn match   nasmCStringFormat	display "%%" contained
 | 
						||
syn match   nasmString		+\("[^"]\{-}"\|'[^']\{-}'\)+
 | 
						||
" Highlight C escape- and format-sequences within ``-strings
 | 
						||
syn match   nasmCString	+\(`[^`]\{-}`\)+ contains=nasmCStringEscape,nasmCStringFormat extend
 | 
						||
syn case ignore
 | 
						||
syn match   nasmBinNumber	"\<\([01][01_]*[by]\|0[by][01_]\+\)\>"
 | 
						||
syn match   nasmBinNumber	"\<\~\([01][01_]*[by]\|0[by][01_]\+\)\>"lc=1
 | 
						||
syn match   nasmOctNumber	"\<\(\o[0-7_]*[qo]\|0[qo][0-7_]\+\)\>"
 | 
						||
syn match   nasmOctNumber	"\<\~\(\o[0-7_]*[qo]\|0[qo][0-7_]\+\)\>"lc=1
 | 
						||
syn match   nasmDecNumber	"\<\(\d[0-9_]*\|\d[0-9_]*d\|0d[0-9_]\+\)\>"
 | 
						||
syn match   nasmDecNumber	"\<\~\(\d[0-9_]*\|\d[0-9_]*d\|0d[0-9_]\+\)\>"lc=1
 | 
						||
syn match   nasmHexNumber	"\<\(\d[0-9a-f_]*h\|0[xh][0-9a-f_]\+\|\$\d[0-9a-f_]*\)\>"
 | 
						||
syn match   nasmHexNumber	"\<\~\(\d[0-9a-f_]*h\|0[xh][0-9a-f_]\+\|\$\d[0-9a-f_]*\)\>"lc=1
 | 
						||
syn match   nasmBinFloat	"\<\(0[by][01_]*\.[01_]*\(p[+-]\=[0-9_]*\)\=\)\|\(0[by][01_]*p[+-]\=[0-9_]*\)\>"
 | 
						||
syn match   nasmOctFloat	"\<\(0[qo][0-7_]*\.[0-7_]*\(p[+-]\=[0-9_]*\)\=\)\|\(0[qo][0-7_]*p[+-]\=[0-9_]*\)\>"
 | 
						||
syn match   nasmDecFloat	"\<\(\d[0-9_]*\.[0-9_]*\(e[+-]\=[0-9_]*\)\=\)\|\(\d[0-9_]*e[+-]\=[0-9_]*\)\>"
 | 
						||
syn match   nasmHexFloat	"\<\(0[xh][0-9a-f_]\+\.[0-9a-f_]*\(p[+-]\=[0-9_]*\)\=\)\|\(0[xh][0-9a-f_]\+p[+-]\=[0-9_]*\)\>"
 | 
						||
syn keyword nasmSpecFloat	Inf NaN SNaN QNaN __?Infinity?__ __?NaN?__ __?SNaN?__ __?QNaN?__
 | 
						||
syn match   nasmBcdConst	"\<\(\d[0-9_]*p\|0p[0-9_]\+\)\>"
 | 
						||
syn match   nasmNumberError	"\<\~\s*\d\+\.\d*\(e[+-]\=\d\+\)\=\>"
 | 
						||
 | 
						||
 | 
						||
" Netwide Assembler Storage Directives:
 | 
						||
"  Storage types
 | 
						||
syn keyword nasmTypeError	DF EXTRN FWORD RESF TBYTE
 | 
						||
syn keyword nasmType		FAR NEAR SHORT
 | 
						||
syn keyword nasmType		BYTE WORD DWORD QWORD DQWORD HWORD DHWORD TWORD
 | 
						||
syn keyword nasmType		CDECL FASTCALL NONE PASCAL STDCALL
 | 
						||
syn keyword nasmStorage		DB DW DD DQ DT DO DY DZ
 | 
						||
syn keyword nasmStorage		RESB RESW RESD RESQ REST RESO RESY RESZ
 | 
						||
syn keyword nasmStorage		EXTERN GLOBAL COMMON
 | 
						||
"  Structured storage types
 | 
						||
syn match   nasmTypeError	"\<\(AT\|I\=\(END\)\=\(STRUCT\=\|UNION\)\|I\=END\)\>"
 | 
						||
syn match   nasmStructureLabel	contained "\<\(AT\|I\=\(END\)\=\(STRUCT\=\|UNION\)\|I\=END\)\>"
 | 
						||
"   structures cannot be nested (yet) -> use: 'keepend' and 're='
 | 
						||
syn cluster nasmGrpCntnStruc	contains=ALLBUT,@nasmGrpInComments,nasmMacroDef,@nasmGrpInMacros,@nasmGrpInPreCondits,nasmStructureDef,@nasmGrpInStrucs
 | 
						||
syn region  nasmStructureDef	transparent matchgroup=nasmStructure keepend start="^\s*STRUCT\>"hs=e-5 end="^\s*ENDSTRUCT\>"re=e-9 contains=@nasmGrpCntnStruc
 | 
						||
syn region  nasmStructureDef	transparent matchgroup=nasmStructure keepend start="^\s*STRUC\>"hs=e-4  end="^\s*ENDSTRUC\>"re=e-8  contains=@nasmGrpCntnStruc
 | 
						||
syn region  nasmStructureDef	transparent matchgroup=nasmStructure keepend start="\<ISTRUCT\=\>" end="\<IEND\(STRUCT\=\)\=\>" contains=@nasmGrpCntnStruc,nasmInStructure
 | 
						||
"   union types are not part of nasm (yet)
 | 
						||
"syn region  nasmStructureDef	transparent matchgroup=nasmStructure keepend start="^\s*UNION\>"hs=e-4 end="^\s*ENDUNION\>"re=e-8 contains=@nasmGrpCntnStruc
 | 
						||
"syn region  nasmStructureDef	transparent matchgroup=nasmStructure keepend start="\<IUNION\>" end="\<IEND\(UNION\)\=\>" contains=@nasmGrpCntnStruc,nasmInStructure
 | 
						||
syn match   nasmInStructure	contained "^\s*AT\>"hs=e-1
 | 
						||
syn cluster nasmGrpInStrucs	contains=nasmStructure,nasmInStructure,nasmStructureLabel
 | 
						||
 | 
						||
 | 
						||
 | 
						||
" PreProcessor Instructions:
 | 
						||
" NAsm PreProcs start with %, but % is not a character
 | 
						||
syn match   nasmPreProcError	"%{\=\(%\=\k\+\|%%\+\k*\|[+-]\=\d\+\)}\="
 | 
						||
if exists("nasm_loose_syntax")
 | 
						||
  syn cluster nasmGrpNxtCtx	contains=nasmStructureLabel,nasmLabel,nasmLocalLabel,nasmSpecialLabel,nasmLabelError,nasmPreProcError
 | 
						||
else
 | 
						||
  syn cluster nasmGrpNxtCtx	contains=nasmStructureLabel,nasmLabel,nasmLabelError,nasmPreProcError
 | 
						||
endif
 | 
						||
 | 
						||
"  Multi-line macro
 | 
						||
syn cluster nasmGrpCntnMacro	contains=ALLBUT,@nasmGrpInComments,nasmStructureDef,@nasmGrpInStrucs,nasmMacroDef,@nasmGrpPreCondits,nasmMemReference,nasmInMacPreCondit,nasmInMacStrucDef
 | 
						||
syn region  nasmMacroDef	matchgroup=nasmMacro keepend start="^\s*%macro\>"hs=e-5 start="^\s*%imacro\>"hs=e-6 end="^\s*%endmacro\>"re=e-9 contains=@nasmGrpCntnMacro,nasmInMacStrucDef
 | 
						||
if exists("nasm_loose_syntax")
 | 
						||
  syn match  nasmInMacLabel	contained "%\(%\k\+\>\|{%\k\+}\)"
 | 
						||
  syn match  nasmInMacLabel	contained "%\($\+\(\w\|[#\.?@~]\)\k*\>\|{$\+\(\w\|[#\.?@~]\)\k*}\)"
 | 
						||
  syn match  nasmInMacPreProc	contained "^\s*%\(push\|repl\)\>"hs=e-4 skipwhite nextgroup=nasmStructureLabel,nasmLabel,nasmInMacParam,nasmLocalLabel,nasmSpecialLabel,nasmLabelError,nasmPreProcError
 | 
						||
  if !exists("nasm_no_warn")
 | 
						||
    syn match nasmInMacLblWarn	contained "%\(%[$\.]\k*\>\|{%[$\.]\k*}\)"
 | 
						||
    syn match nasmInMacLblWarn	contained "%\($\+\(\d\|[#\.@~]\)\k*\|{\$\+\(\d\|[#\.@~]\)\k*}\)"
 | 
						||
    hi link nasmInMacCatLabel	nasmInMacLblWarn
 | 
						||
  else
 | 
						||
    hi link nasmInMacCatLabel	nasmInMacLabel
 | 
						||
  endif
 | 
						||
else
 | 
						||
  syn match  nasmInMacLabel	contained "%\(%\(\w\|[#?@~]\)\k*\>\|{%\(\w\|[#?@~]\)\k*}\)"
 | 
						||
  syn match  nasmInMacLabel	contained "%\($\+\(\h\|[?@]\)\k*\>\|{$\+\(\h\|[?@]\)\k*}\)"
 | 
						||
  hi link nasmInMacCatLabel	nasmLabelError
 | 
						||
endif
 | 
						||
syn match   nasmInMacCatLabel	contained "\d\K\k*"lc=1
 | 
						||
syn match   nasmInMacLabel	contained "\d}\k\+"lc=2
 | 
						||
if !exists("nasm_no_warn")
 | 
						||
  syn match  nasmInMacLblWarn	contained "%\(\($\+\|%\)[_~][._~]*\>\|{\($\+\|%\)[_~][._~]*}\)"
 | 
						||
endif
 | 
						||
syn match   nasmInMacPreProc	contained "^\s*%pop\>"hs=e-3
 | 
						||
syn match   nasmInMacPreProc	contained "^\s*%\(push\|repl\)\>"hs=e-4 skipwhite nextgroup=@nasmGrpNxtCtx
 | 
						||
"   structures cannot be nested (yet) -> use: 'keepend' and 're='
 | 
						||
syn region  nasmInMacStrucDef	contained transparent matchgroup=nasmStructure keepend start="^\s*STRUCT\>"hs=e-5 end="^\s*ENDSTRUCT\>"re=e-9 contains=@nasmGrpCntnMacro
 | 
						||
syn region  nasmInMacStrucDef	contained transparent matchgroup=nasmStructure keepend start="^\s*STRUC\>"hs=e-4  end="^\s*ENDSTRUC\>"re=e-8  contains=@nasmGrpCntnMacro
 | 
						||
syn region  nasmInMacStrucDef	contained transparent matchgroup=nasmStructure keepend start="\<ISTRUCT\=\>" end="\<IEND\(STRUCT\=\)\=\>" contains=@nasmGrpCntnMacro,nasmInStructure
 | 
						||
"   union types are not part of nasm (yet)
 | 
						||
"syn region  nasmInMacStrucDef	contained transparent matchgroup=nasmStructure keepend start="^\s*UNION\>"hs=e-4 end="^\s*ENDUNION\>"re=e-8 contains=@nasmGrpCntnMacro
 | 
						||
"syn region  nasmInMacStrucDef	contained transparent matchgroup=nasmStructure keepend start="\<IUNION\>" end="\<IEND\(UNION\)\=\>" contains=@nasmGrpCntnMacro,nasmInStructure
 | 
						||
syn region  nasmInMacPreConDef	contained transparent matchgroup=nasmInMacPreCondit start="^\s*%ifnidni\>"hs=e-7 start="^\s*%if\(idni\|n\(ctx\|def\|idn\|num\|str\)\)\>"hs=e-6 start="^\s*%if\(ctx\|def\|idn\|nid\|num\|str\)\>"hs=e-5 start="^\s*%ifid\>"hs=e-4 start="^\s*%if\>"hs=e-2 end="%endif\>" contains=@nasmGrpCntnMacro,nasmInMacPreCondit,nasmInPreCondit
 | 
						||
" Todo: allow STRUC/ISTRUC to be used inside preprocessor conditional block
 | 
						||
syn match   nasmInMacPreCondit	contained transparent "ctx\s"lc=3 skipwhite nextgroup=@nasmGrpNxtCtx
 | 
						||
syn match   nasmInMacPreCondit	contained "^\s*%elifctx\>"hs=e-7 skipwhite nextgroup=@nasmGrpNxtCtx
 | 
						||
syn match   nasmInMacPreCondit	contained "^\s*%elifnctx\>"hs=e-8 skipwhite nextgroup=@nasmGrpNxtCtx
 | 
						||
syn match   nasmInMacParamNum	contained "\<\d\+\.list\>"me=e-5
 | 
						||
syn match   nasmInMacParamNum	contained "\<\d\+\.nolist\>"me=e-7
 | 
						||
syn match   nasmInMacDirective	contained "\.\(no\)\=list\>"
 | 
						||
syn match   nasmInMacMacro	contained transparent "macro\s"lc=5 skipwhite nextgroup=nasmStructureLabel
 | 
						||
syn match   nasmInMacMacro	contained "^\s*%rotate\>"hs=e-6
 | 
						||
syn match   nasmInMacParam	contained "%\([+-]\=\d\+\|{[+-]\=\d\+}\)"
 | 
						||
"   nasm conditional macro operands/arguments
 | 
						||
"   Todo: check feasebility; add too nasmGrpInMacros, etc.
 | 
						||
"syn match   nasmInMacCond	contained "\<\(N\=\([ABGL]E\=\|[CEOSZ]\)\|P[EO]\=\)\>"
 | 
						||
syn cluster nasmGrpInMacros	contains=nasmMacro,nasmInMacMacro,nasmInMacParam,nasmInMacParamNum,nasmInMacDirective,nasmInMacLabel,nasmInMacLblWarn,nasmInMacMemRef,nasmInMacPreConDef,nasmInMacPreCondit,nasmInMacPreProc,nasmInMacStrucDef
 | 
						||
 | 
						||
"   Context pre-procs that are better used inside a macro
 | 
						||
if exists("nasm_ctx_outside_macro")
 | 
						||
  syn region nasmPreConditDef	transparent matchgroup=nasmCtxPreCondit start="^\s*%ifnctx\>"hs=e-6 start="^\s*%ifctx\>"hs=e-5 end="%endif\>" contains=@nasmGrpCntnPreCon
 | 
						||
  syn match  nasmCtxPreProc	"^\s*%pop\>"hs=e-3
 | 
						||
  if exists("nasm_loose_syntax")
 | 
						||
    syn match   nasmCtxLocLabel	"%$\+\(\w\|[#.?@~]\)\k*\>"
 | 
						||
  else
 | 
						||
    syn match   nasmCtxLocLabel	"%$\+\(\h\|[?@]\)\k*\>"
 | 
						||
  endif
 | 
						||
  syn match nasmCtxPreProc	"^\s*%\(push\|repl\)\>"hs=e-4 skipwhite nextgroup=@nasmGrpNxtCtx
 | 
						||
  syn match nasmCtxPreCondit	contained transparent "ctx\s"lc=3 skipwhite nextgroup=@nasmGrpNxtCtx
 | 
						||
  syn match nasmCtxPreCondit	contained "^\s*%elifctx\>"hs=e-7 skipwhite nextgroup=@nasmGrpNxtCtx
 | 
						||
  syn match nasmCtxPreCondit	contained "^\s*%elifnctx\>"hs=e-8 skipwhite nextgroup=@nasmGrpNxtCtx
 | 
						||
  if exists("nasm_no_warn")
 | 
						||
    hi link nasmCtxPreCondit	nasmPreCondit
 | 
						||
    hi link nasmCtxPreProc	nasmPreProc
 | 
						||
    hi link nasmCtxLocLabel	nasmLocalLabel
 | 
						||
  else
 | 
						||
    hi link nasmCtxPreCondit	nasmPreProcWarn
 | 
						||
    hi link nasmCtxPreProc	nasmPreProcWarn
 | 
						||
    hi link nasmCtxLocLabel	nasmLabelWarn
 | 
						||
  endif
 | 
						||
endif
 | 
						||
 | 
						||
"  Conditional assembly
 | 
						||
syn cluster nasmGrpCntnPreCon	contains=ALLBUT,@nasmGrpInComments,@nasmGrpInMacros,@nasmGrpInStrucs
 | 
						||
syn region  nasmPreConditDef	transparent matchgroup=nasmPreCondit start="^\s*%ifnidni\>"hs=e-7 start="^\s*%if\(idni\|n\(def\|idn\|num\|str\)\)\>"hs=e-6 start="^\s*%if\(def\|idn\|nid\|num\|str\)\>"hs=e-5 start="^\s*%ifid\>"hs=e-4 start="^\s*%if\>"hs=e-2 end="%endif\>" contains=@nasmGrpCntnPreCon
 | 
						||
syn match   nasmInPreCondit	contained "^\s*%el\(if\|se\)\>"hs=e-4
 | 
						||
syn match   nasmInPreCondit	contained "^\s*%elifid\>"hs=e-6
 | 
						||
syn match   nasmInPreCondit	contained "^\s*%elif\(def\|idn\|nid\|num\|str\)\>"hs=e-7
 | 
						||
syn match   nasmInPreCondit	contained "^\s*%elif\(n\(def\|idn\|num\|str\)\|idni\)\>"hs=e-8
 | 
						||
syn match   nasmInPreCondit	contained "^\s*%elifnidni\>"hs=e-9
 | 
						||
syn cluster nasmGrpInPreCondits	contains=nasmPreCondit,nasmInPreCondit,nasmCtxPreCondit
 | 
						||
syn cluster nasmGrpPreCondits	contains=nasmPreConditDef,@nasmGrpInPreCondits,nasmCtxPreProc,nasmCtxLocLabel
 | 
						||
 | 
						||
"  Other pre-processor statements
 | 
						||
syn match   nasmPreProc		"^\s*%\(rep\|use\)\>"hs=e-3
 | 
						||
syn match   nasmPreProc		"^\s*%line\>"hs=e-4
 | 
						||
syn match   nasmPreProc		"^\s*%\(clear\|error\|fatal\)\>"hs=e-5
 | 
						||
syn match   nasmPreProc		"^\s*%\(endrep\|strlen\|substr\)\>"hs=e-6
 | 
						||
syn match   nasmPreProc		"^\s*%\(exitrep\|warning\)\>"hs=e-7
 | 
						||
syn match   nasmDefine		"^\s*%undef\>"hs=e-5
 | 
						||
syn match   nasmDefine		"^\s*%\(assign\|define\)\>"hs=e-6
 | 
						||
syn match   nasmDefine		"^\s*%i\(assign\|define\)\>"hs=e-7
 | 
						||
syn match   nasmDefine		"^\s*%unmacro\>"hs=e-7
 | 
						||
syn match   nasmInclude		"^\s*%include\>"hs=e-7
 | 
						||
" Todo: Treat the line tail after %fatal, %error, %warning as text
 | 
						||
 | 
						||
"  Multiple pre-processor instructions on single line detection (obsolete)
 | 
						||
"syn match   nasmPreProcError	+^\s*\([^\t "%';][^"%';]*\|[^\t "';][^"%';]\+\)%\a\+\>+
 | 
						||
syn cluster nasmGrpPreProcs	contains=nasmMacroDef,@nasmGrpInMacros,@nasmGrpPreCondits,nasmPreProc,nasmDefine,nasmInclude,nasmPreProcWarn,nasmPreProcError
 | 
						||
 | 
						||
 | 
						||
 | 
						||
" Register Identifiers:
 | 
						||
"  Register operands:
 | 
						||
syn match   nasmGen08Register	"\<[A-D][HL]\>"
 | 
						||
syn match   nasmGen16Register	"\<\([A-D]X\|[DS]I\|[BS]P\)\>"
 | 
						||
syn match   nasmGen32Register	"\<E\([A-D]X\|[DS]I\|[BS]P\)\>"
 | 
						||
syn match   nasmGen64Register	"\<R\([A-D]X\|[DS]I\|[BS]P\|[89]\|1[0-5]\|[89][WDB]\|1[0-5][WDB]\)\>"
 | 
						||
syn match   nasmExtRegister     "\<\([SB]PL\|[SD]IL\)\>"
 | 
						||
syn match   nasmSegRegister	"\<[C-GS]S\>"
 | 
						||
syn match   nasmSpcRegister	"\<E\=IP\>"
 | 
						||
syn match   nasmFpuRegister	"\<ST\o\>"
 | 
						||
syn match   nasmMmxRegister	"\<MM\o\>"
 | 
						||
syn match   nasmAvxRegister	"\<[XYZ]MM\d\{1,2}\>"
 | 
						||
syn match   nasmCtrlRegister	"\<CR\o\>"
 | 
						||
syn match   nasmDebugRegister	"\<DR\o\>"
 | 
						||
syn match   nasmTestRegister	"\<TR\o\>"
 | 
						||
syn match   nasmRegisterError	"\<\(CR[15-9]\|DR[4-58-9]\|TR[0-28-9]\)\>"
 | 
						||
syn match   nasmRegisterError	"\<[XYZ]MM\(3[2-9]\|[04-9]\d\)\>"
 | 
						||
syn match   nasmRegisterError	"\<ST\((\d)\|[8-9]\>\)"
 | 
						||
syn match   nasmRegisterError	"\<E\([A-D][HL]\|[C-GS]S\)\>"
 | 
						||
"  Memory reference operand (address):
 | 
						||
syn match   nasmMemRefError	"[[\]]"
 | 
						||
syn cluster nasmGrpCntnMemRef	contains=ALLBUT,@nasmGrpComments,@nasmGrpPreProcs,@nasmGrpInStrucs,nasmMemReference,nasmMemRefError
 | 
						||
syn match   nasmInMacMemRef	contained "\[[^;[\]]\{-}\]" contains=@nasmGrpCntnMemRef,nasmPreProcError,nasmInMacLabel,nasmInMacLblWarn,nasmInMacParam
 | 
						||
syn match   nasmMemReference	"\[[^;[\]]\{-}\]" contains=@nasmGrpCntnMemRef,nasmPreProcError,nasmCtxLocLabel
 | 
						||
 | 
						||
 | 
						||
 | 
						||
" Netwide Assembler Directives:
 | 
						||
"  Compilation constants
 | 
						||
syn keyword nasmConstant	__BITS__ __DATE__ __FILE__ __FORMAT__ __LINE__
 | 
						||
syn keyword nasmConstant	__NASM_MAJOR__ __NASM_MINOR__ __NASM_VERSION__
 | 
						||
syn keyword nasmConstant	__TIME__
 | 
						||
"  Instruction modifiers
 | 
						||
syn match   nasmInstrModifier	"\(^\|:\)\s*[C-GS]S\>"ms=e-1
 | 
						||
syn keyword nasmInstrModifier	A16 A32 O16 O32
 | 
						||
syn match   nasmInstrModifier	"\<F\(ADD\|MUL\|\(DIV\|SUB\)R\=\)\s\+TO\>"lc=5,ms=e-1
 | 
						||
"   the 'to' keyword is not allowed for fpu-pop instructions (yet)
 | 
						||
"syn match   nasmInstrModifier	"\<F\(ADD\|MUL\|\(DIV\|SUB\)R\=\)P\s\+TO\>"lc=6,ms=e-1
 | 
						||
"  NAsm directives
 | 
						||
syn keyword nasmRepeat		TIMES
 | 
						||
syn keyword nasmDirective	ALIGN[B] INCBIN EQU NOSPLIT SPLIT
 | 
						||
syn keyword nasmDirective	ABSOLUTE BITS SECTION SEGMENT DEFAULT
 | 
						||
syn keyword nasmDirective	ENDSECTION ENDSEGMENT
 | 
						||
syn keyword nasmDirective	__SECT__
 | 
						||
"  Macro created standard directives: (requires %include)
 | 
						||
syn case match
 | 
						||
syn keyword nasmStdDirective	ENDPROC EPILOGUE LOCALS PROC PROLOGUE USES
 | 
						||
syn keyword nasmStdDirective	ENDIF ELSE ELIF ELSIF IF
 | 
						||
"syn keyword nasmStdDirective	BREAK CASE DEFAULT ENDSWITCH SWITCH
 | 
						||
"syn keyword nasmStdDirective	CASE OF ENDCASE
 | 
						||
syn keyword nasmStdDirective	ENDFOR ENDWHILE FOR REPEAT UNTIL WHILE EXIT
 | 
						||
syn case ignore
 | 
						||
"  Format specific directives: (all formats)
 | 
						||
"  (excluded: extension directives to section, global, common and extern)
 | 
						||
syn keyword nasmFmtDirective	ORG
 | 
						||
syn keyword nasmFmtDirective	EXPORT IMPORT GROUP UPPERCASE SEG WRT
 | 
						||
syn keyword nasmFmtDirective	LIBRARY
 | 
						||
syn case match
 | 
						||
syn keyword nasmFmtDirective	_GLOBAL_OFFSET_TABLE_ __GLOBAL_OFFSET_TABLE_
 | 
						||
syn keyword nasmFmtDirective	..start ..got ..gotoff ..gotpc ..plt ..sym
 | 
						||
syn case ignore
 | 
						||
 | 
						||
" Instruction errors:
 | 
						||
"  Instruction modifiers
 | 
						||
syn match   nasmInstructnError	"\<TO\>"
 | 
						||
" Standard Instructions:
 | 
						||
syn match   nasmInstructnError	"\<\(F\=CMOV\|SET\|J\)N\=\a\{0,2}\>"
 | 
						||
syn match   nasmInstructnError	"\<CMP\a\{0,2}XADD\>"
 | 
						||
syn keyword nasmInstructnError	CMPS MOVS LCS LODS STOS XLAT
 | 
						||
syn match   nasmInstructnError	"\<MOV\s[^,;[]*\<CS\>\s*[^:]"he=e-1
 | 
						||
"  Input and Output
 | 
						||
syn keyword nasmInstructnError	INS OUTS
 | 
						||
"  Standard MMX instructions: (requires MMX1 unit)
 | 
						||
syn match   nasmInstructnError	"\<P\(ADD\|SUB\)U\=S\=[DQ]\=\>"
 | 
						||
syn match   nasmInstructnError	"\<PCMP\a\{0,2}[BDWQ]\=\>"
 | 
						||
" Streaming SIMD Extension Packed Instructions: (requires SSE unit)
 | 
						||
syn match   nasmInstructnError	"\<CMP\a\{1,5}[PS]S\>"
 | 
						||
" AVX Instructions
 | 
						||
syn match   nasmInstructnError  "\<VP\a\{3}R\a\>"
 | 
						||
 | 
						||
 | 
						||
" Instructions:
 | 
						||
" Standard
 | 
						||
syn keyword nasmInstructionStandard AAA AAD AAM AAS ADC
 | 
						||
syn keyword nasmInstructionStandard ADD AND ARPL 
 | 
						||
syn keyword nasmInstructionStandard BOUND BSF BSR BSWAP BT
 | 
						||
syn keyword nasmInstructionStandard BTC BTR BTS CALL CBW
 | 
						||
syn keyword nasmInstructionStandard CDQ CDQE CLC CLD CLI
 | 
						||
syn keyword nasmInstructionStandard CLTS CMC CMP CMPSB CMPSD
 | 
						||
syn keyword nasmInstructionStandard CMPSQ CMPSW CMPXCHG CMPXCHG486 CMPXCHG8B
 | 
						||
syn keyword nasmInstructionStandard CMPXCHG16B CPUID CQO
 | 
						||
syn keyword nasmInstructionStandard CWD CWDE DAA DAS DEC
 | 
						||
syn keyword nasmInstructionStandard DIV EMMS ENTER EQU
 | 
						||
syn keyword nasmInstructionStandard F2XM1 FABS FADD FADDP FBLD
 | 
						||
syn keyword nasmInstructionStandard FBSTP FCHS FCLEX FCMOVB FCMOVBE
 | 
						||
syn keyword nasmInstructionStandard FCMOVE FCMOVNB FCMOVNBE FCMOVNE FCMOVNU
 | 
						||
syn keyword nasmInstructionStandard FCMOVU FCOM FCOMI FCOMIP FCOMP
 | 
						||
syn keyword nasmInstructionStandard FCOMPP FCOS FDECSTP FDISI FDIV
 | 
						||
syn keyword nasmInstructionStandard FDIVP FDIVR FDIVRP FEMMS FENI
 | 
						||
syn keyword nasmInstructionStandard FFREE FFREEP FIADD FICOM FICOMP
 | 
						||
syn keyword nasmInstructionStandard FIDIV FIDIVR FILD FIMUL FINCSTP
 | 
						||
syn keyword nasmInstructionStandard FINIT FIST FISTP FISTTP FISUB
 | 
						||
syn keyword nasmInstructionStandard FISUBR FLD FLD1 FLDCW FLDENV
 | 
						||
syn keyword nasmInstructionStandard FLDL2E FLDL2T FLDLG2 FLDLN2 FLDPI
 | 
						||
syn keyword nasmInstructionStandard FLDZ FMUL FMULP FNCLEX FNDISI
 | 
						||
syn keyword nasmInstructionStandard FNENI FNINIT FNOP FNSAVE FNSTCW
 | 
						||
syn keyword nasmInstructionStandard FNSTENV FNSTSW FPATAN FPREM FPREM1
 | 
						||
syn keyword nasmInstructionStandard FPTAN FRNDINT FRSTOR FSAVE FSCALE
 | 
						||
syn keyword nasmInstructionStandard FSETPM FSIN FSINCOS FSQRT FST
 | 
						||
syn keyword nasmInstructionStandard FSTCW FSTENV FSTP FSTSW FSUB
 | 
						||
syn keyword nasmInstructionStandard FSUBP FSUBR FSUBRP FTST FUCOM
 | 
						||
syn keyword nasmInstructionStandard FUCOMI FUCOMIP FUCOMP FUCOMPP FXAM
 | 
						||
syn keyword nasmInstructionStandard FXCH FXTRACT FYL2X FYL2XP1 HLT
 | 
						||
syn keyword nasmInstructionStandard IBTS ICEBP IDIV IMUL IN
 | 
						||
syn keyword nasmInstructionStandard INC INSB INSD INSW INT
 | 
						||
syn keyword nasmInstructionStandard INTO
 | 
						||
syn keyword nasmInstructionStandard INVD INVPCID INVLPG INVLPGA IRET
 | 
						||
syn keyword nasmInstructionStandard IRETD IRETQ IRETW JCXZ JECXZ
 | 
						||
syn keyword nasmInstructionStandard JRCXZ JMP JMPE LAHF LAR
 | 
						||
syn keyword nasmInstructionStandard LDS LEA LEAVE LES LFENCE
 | 
						||
syn keyword nasmInstructionStandard LFS LGDT LGS LIDT LLDT
 | 
						||
syn keyword nasmInstructionStandard LMSW LOADALL LOADALL286 LODSB LODSD
 | 
						||
syn keyword nasmInstructionStandard LODSQ LODSW LOOP LOOPE LOOPNE
 | 
						||
syn keyword nasmInstructionStandard LOOPNZ LOOPZ LSL LSS LTR
 | 
						||
syn keyword nasmInstructionStandard MFENCE MONITOR MONITORX MOV MOVD
 | 
						||
syn keyword nasmInstructionStandard MOVQ MOVSB MOVSD MOVSQ MOVSW
 | 
						||
syn keyword nasmInstructionStandard MOVSX MOVSXD MOVSX MOVZX MUL
 | 
						||
syn keyword nasmInstructionStandard MWAIT MWAITX NEG NOP NOT
 | 
						||
syn keyword nasmInstructionStandard OR OUT OUTSB OUTSD OUTSW
 | 
						||
syn keyword nasmInstructionStandard PACKSSDW PACKSSWB PACKUSWB PADDB PADDD
 | 
						||
syn keyword nasmInstructionStandard PADDSB PADDSW PADDUSB PADDUSW
 | 
						||
syn keyword nasmInstructionStandard PADDW PAND PANDN PAUSE 
 | 
						||
syn keyword nasmInstructionStandard PAVGUSB PCMPEQB PCMPEQD PCMPEQW PCMPGTB
 | 
						||
syn keyword nasmInstructionStandard PCMPGTD PCMPGTW PF2ID PFACC
 | 
						||
syn keyword nasmInstructionStandard PFADD PFCMPEQ PFCMPGE PFCMPGT PFMAX
 | 
						||
syn keyword nasmInstructionStandard PFMIN PFMUL PFRCP PFRCPIT1 PFRCPIT2
 | 
						||
syn keyword nasmInstructionStandard PFRSQIT1 PFRSQRT PFSUB PFSUBR PI2FD
 | 
						||
syn keyword nasmInstructionStandard PMADDWD PMULHRWA
 | 
						||
syn keyword nasmInstructionStandard PMULHW PMULLW 
 | 
						||
syn keyword nasmInstructionStandard POP POPA POPAD
 | 
						||
syn keyword nasmInstructionStandard POPAW POPF POPFD POPFQ POPFW
 | 
						||
syn keyword nasmInstructionStandard POR PREFETCH PREFETCHW PSLLD PSLLQ
 | 
						||
syn keyword nasmInstructionStandard PSLLW PSRAD PSRAW PSRLD PSRLQ
 | 
						||
syn keyword nasmInstructionStandard PSRLW PSUBB PSUBD PSUBSB 
 | 
						||
syn keyword nasmInstructionStandard PSUBSW PSUBUSB PSUBUSW PSUBW PUNPCKHBW
 | 
						||
syn keyword nasmInstructionStandard PUNPCKHDQ PUNPCKHWD PUNPCKLBW PUNPCKLDQ PUNPCKLWD
 | 
						||
syn keyword nasmInstructionStandard PUSH PUSHA PUSHAD PUSHAW PUSHF
 | 
						||
syn keyword nasmInstructionStandard PUSHFD PUSHFQ PUSHFW PXOR RCL
 | 
						||
syn keyword nasmInstructionStandard RCR 
 | 
						||
syn keyword nasmInstructionStandard RDTSCP RET RETF RETN RETW
 | 
						||
syn keyword nasmInstructionStandard RETFW RETNW RETD RETFD RETND
 | 
						||
syn keyword nasmInstructionStandard RETQ RETFQ RETNQ ROL ROR
 | 
						||
syn keyword nasmInstructionStandard RSM RSTS
 | 
						||
syn keyword nasmInstructionStandard SAHF SAL SALC SAR SBB
 | 
						||
syn keyword nasmInstructionStandard SCASB SCASD SCASQ SCASW SFENCE
 | 
						||
syn keyword nasmInstructionStandard SGDT SHL SHLD SHR SHRD
 | 
						||
syn keyword nasmInstructionStandard SIDT SLDT SKINIT SMI 
 | 
						||
syn keyword nasmInstructionStandard SMSW STC STD STI
 | 
						||
syn keyword nasmInstructionStandard STOSB STOSD STOSQ STOSW STR
 | 
						||
syn keyword nasmInstructionStandard SUB SWAPGS
 | 
						||
syn keyword nasmInstructionStandard SYSCALL SYSENTER SYSEXIT SYSRET TEST
 | 
						||
syn keyword nasmInstructionStandard UD0 UD1 UD2B UD2 UD2A
 | 
						||
syn keyword nasmInstructionStandard UMOV VERR VERW FWAIT WBINVD
 | 
						||
syn keyword nasmInstructionStandard XADD XBTS XCHG
 | 
						||
syn keyword nasmInstructionStandard XLATB XLAT XOR CMOVA CMOVAE
 | 
						||
syn keyword nasmInstructionStandard CMOVB CMOVBE CMOVC CMOVE CMOVG
 | 
						||
syn keyword nasmInstructionStandard CMOVGE CMOVL CMOVLE CMOVNA CMOVNAE
 | 
						||
syn keyword nasmInstructionStandard CMOVNB CMOVNBE CMOVNC CMOVNE CMOVNG
 | 
						||
syn keyword nasmInstructionStandard CMOVNGE CMOVNL CMOVNLE CMOVNO CMOVNP
 | 
						||
syn keyword nasmInstructionStandard CMOVNS CMOVNZ CMOVO CMOVP CMOVPE
 | 
						||
syn keyword nasmInstructionStandard CMOVPO CMOVS CMOVZ JA JAE
 | 
						||
syn keyword nasmInstructionStandard JB JBE JC JCXZ JE
 | 
						||
syn keyword nasmInstructionStandard JECXZ JG JGE JL JLE
 | 
						||
syn keyword nasmInstructionStandard JNA JNAE JNB JNBE JNC
 | 
						||
syn keyword nasmInstructionStandard JNE JNG JNGE JNL JNLE
 | 
						||
syn keyword nasmInstructionStandard JNO JNP JNS JNZ JO
 | 
						||
syn keyword nasmInstructionStandard JP JPE JPO JRCXZ JS
 | 
						||
syn keyword nasmInstructionStandard JZ SETA SETAE SETB SETBE
 | 
						||
syn keyword nasmInstructionStandard SETC SETE SETG SETGE SETL
 | 
						||
syn keyword nasmInstructionStandard SETLE SETNA SETNAE SETNB SETNBE
 | 
						||
syn keyword nasmInstructionStandard SETNC SETNE SETNG SETNGE SETNL
 | 
						||
syn keyword nasmInstructionStandard SETNLE SETNO SETNP SETNS SETNZ
 | 
						||
syn keyword nasmInstructionStandard SETO SETP SETPE SETPO SETS
 | 
						||
syn keyword nasmInstructionStandard SETZ 
 | 
						||
" SIMD
 | 
						||
syn keyword nasmInstructionSIMD ADDPS ADDSS ANDNPS ANDPS CMPEQPS
 | 
						||
syn keyword nasmInstructionSIMD CMPEQSS CMPLEPS CMPLESS CMPLTPS CMPLTSS
 | 
						||
syn keyword nasmInstructionSIMD CMPNEQPS CMPNEQSS CMPNLEPS CMPNLESS CMPNLTPS
 | 
						||
syn keyword nasmInstructionSIMD CMPNLTSS CMPORDPS CMPORDSS CMPUNORDPS CMPUNORDSS
 | 
						||
syn keyword nasmInstructionSIMD CMPPS CMPSS COMISS CVTPI2PS CVTPS2PI
 | 
						||
syn keyword nasmInstructionSIMD CVTSI2SS CVTSS2SI CVTTPS2PI CVTTSS2SI DIVPS
 | 
						||
syn keyword nasmInstructionSIMD DIVSS LDMXCSR MAXPS MAXSS MINPS
 | 
						||
syn keyword nasmInstructionSIMD MINSS MOVAPS MOVHPS MOVLHPS MOVLPS
 | 
						||
syn keyword nasmInstructionSIMD MOVHLPS MOVMSKPS MOVNTPS MOVSS MOVUPS
 | 
						||
syn keyword nasmInstructionSIMD MULPS MULSS ORPS RCPPS RCPSS
 | 
						||
syn keyword nasmInstructionSIMD RSQRTPS RSQRTSS SHUFPS SQRTPS SQRTSS
 | 
						||
syn keyword nasmInstructionSIMD STMXCSR SUBPS SUBSS UCOMISS UNPCKHPS
 | 
						||
syn keyword nasmInstructionSIMD UNPCKLPS XORPS
 | 
						||
" SSE
 | 
						||
syn keyword nasmInstructionSSE FXRSTOR FXRSTOR64 FXSAVE FXSAVE64
 | 
						||
" XSAVE
 | 
						||
syn keyword nasmInstructionXSAVE XGETBV XSETBV XSAVE XSAVE64 XSAVEC
 | 
						||
syn keyword nasmInstructionXSAVE XSAVEC64 XSAVEOPT XSAVEOPT64 XSAVES XSAVES64
 | 
						||
syn keyword nasmInstructionXSAVE XRSTOR XRSTOR64 XRSTORS XRSTORS64
 | 
						||
" MEM
 | 
						||
syn keyword nasmInstructionMEM PREFETCHNTA PREFETCHT0 PREFETCHT1 PREFETCHT2 PREFETCHIT0
 | 
						||
syn keyword nasmInstructionMEM PREFETCHIT1 SFENCE
 | 
						||
" MMX
 | 
						||
syn keyword nasmInstructionMMX MASKMOVQ MOVNTQ PAVGB PAVGW PEXTRW
 | 
						||
syn keyword nasmInstructionMMX PINSRW PMAXSW PMAXUB PMINSW PMINUB
 | 
						||
syn keyword nasmInstructionMMX PMOVMSKB PMULHUW PSADBW PSHUFW
 | 
						||
" 3DNOW
 | 
						||
syn keyword nasmInstruction3DNOW PF2IW PFNACC PFPNACC PI2FW PSWAPD
 | 
						||
" SSE2
 | 
						||
syn keyword nasmInstructionSSE2 MASKMOVDQU CLFLUSH MOVNTDQ MOVNTI MOVNTPD
 | 
						||
syn keyword nasmInstructionSSE2 LFENCE MFENCE
 | 
						||
" WMMX
 | 
						||
syn keyword nasmInstructionWMMX MOVD MOVDQA MOVDQU MOVDQ2Q MOVQ
 | 
						||
syn keyword nasmInstructionWMMX MOVQ2DQ PACKSSWB PACKSSDW PACKUSWB PADDB
 | 
						||
syn keyword nasmInstructionWMMX PADDW PADDD PADDQ PADDSB PADDSW
 | 
						||
syn keyword nasmInstructionWMMX PADDUSB PADDUSW PAND PANDN PAVGB
 | 
						||
syn keyword nasmInstructionWMMX PAVGW PCMPEQB PCMPEQW PCMPEQD PCMPGTB
 | 
						||
syn keyword nasmInstructionWMMX PCMPGTW PCMPGTD PEXTRW PINSRW PMADDWD
 | 
						||
syn keyword nasmInstructionWMMX PMAXSW PMAXUB PMINSW PMINUB PMOVMSKB
 | 
						||
syn keyword nasmInstructionWMMX PMULHUW PMULHW PMULLW PMULUDQ POR
 | 
						||
syn keyword nasmInstructionWMMX PSADBW PSHUFD PSHUFHW PSHUFLW PSLLDQ
 | 
						||
syn keyword nasmInstructionWMMX PSLLW PSLLD PSLLQ PSRAW PSRAD
 | 
						||
syn keyword nasmInstructionWMMX PSRLDQ PSRLW PSRLD PSRLQ PSUBB
 | 
						||
syn keyword nasmInstructionWMMX PSUBW PSUBD PSUBQ PSUBSB PSUBSW
 | 
						||
syn keyword nasmInstructionWMMX PSUBUSB PSUBUSW PUNPCKHBW PUNPCKHWD PUNPCKHDQ
 | 
						||
syn keyword nasmInstructionWMMX PUNPCKHQDQ PUNPCKLBW PUNPCKLWD PUNPCKLDQ PUNPCKLQDQ
 | 
						||
syn keyword nasmInstructionWMMX PXOR
 | 
						||
" WSSD
 | 
						||
syn keyword nasmInstructionWSSD ADDPD ADDSD ANDNPD ANDPD CMPEQPD
 | 
						||
syn keyword nasmInstructionWSSD CMPEQSD CMPLEPD CMPLESD CMPLTPD CMPLTSD
 | 
						||
syn keyword nasmInstructionWSSD CMPNEQPD CMPNEQSD CMPNLEPD CMPNLESD CMPNLTPD
 | 
						||
syn keyword nasmInstructionWSSD CMPNLTSD CMPORDPD CMPORDSD CMPUNORDPD CMPUNORDSD
 | 
						||
syn keyword nasmInstructionWSSD CMPPD CMPSD COMISD CVTDQ2PD CVTDQ2PS
 | 
						||
syn keyword nasmInstructionWSSD CVTPD2DQ CVTPD2PI CVTPD2PS CVTPI2PD CVTPS2DQ
 | 
						||
syn keyword nasmInstructionWSSD CVTPS2PD CVTSD2SI CVTSD2SS CVTSI2SD CVTSS2SD
 | 
						||
syn keyword nasmInstructionWSSD CVTTPD2PI CVTTPD2DQ CVTTPS2DQ CVTTSD2SI DIVPD
 | 
						||
syn keyword nasmInstructionWSSD DIVSD MAXPD MAXSD MINPD MINSD
 | 
						||
syn keyword nasmInstructionWSSD MOVAPD MOVHPD MOVLPD MOVMSKPD MOVSD
 | 
						||
syn keyword nasmInstructionWSSD MOVUPD MULPD MULSD ORPD SHUFPD
 | 
						||
syn keyword nasmInstructionWSSD SQRTPD SQRTSD SUBPD SUBSD UCOMISD
 | 
						||
syn keyword nasmInstructionWSSD UNPCKHPD UNPCKLPD XORPD
 | 
						||
" PRESSCOT
 | 
						||
syn keyword nasmInstructionPRESSCOT ADDSUBPD ADDSUBPS HADDPD HADDPS HSUBPD
 | 
						||
syn keyword nasmInstructionPRESSCOT HSUBPS LDDQU MOVDDUP MOVSHDUP MOVSLDUP
 | 
						||
" VMXSVM
 | 
						||
syn keyword nasmInstructionVMXSVM CLGI STGI VMCALL VMCLEAR VMFUNC
 | 
						||
syn keyword nasmInstructionVMXSVM VMLAUNCH VMLOAD VMMCALL VMPTRLD VMPTRST
 | 
						||
syn keyword nasmInstructionVMXSVM VMREAD VMRESUME VMRUN VMSAVE VMWRITE
 | 
						||
syn keyword nasmInstructionVMXSVM VMXOFF VMXON
 | 
						||
" PTVMX
 | 
						||
syn keyword nasmInstructionPTVMX INVEPT INVVPID
 | 
						||
" SEVSNPAMD
 | 
						||
syn keyword nasmInstructionSEVSNPAMD PVALIDATE RMPADJUST VMGEXIT
 | 
						||
" TEJAS
 | 
						||
syn keyword nasmInstructionTEJAS PABSB PABSW PABSD PALIGNR PHADDW
 | 
						||
syn keyword nasmInstructionTEJAS PHADDD PHADDSW PHSUBW PHSUBD PHSUBSW
 | 
						||
syn keyword nasmInstructionTEJAS PMADDUBSW PMULHRSW PSHUFB PSIGNB PSIGNW
 | 
						||
syn keyword nasmInstructionTEJAS PSIGND
 | 
						||
" AMD_SSE4A
 | 
						||
syn keyword nasmInstructionAMD_SSE4A EXTRQ INSERTQ MOVNTSD MOVNTSS
 | 
						||
" BARCELONA
 | 
						||
syn keyword nasmInstructionBARCELONA LZCNT 
 | 
						||
" PENRY
 | 
						||
syn keyword nasmInstructionPENRY BLENDPD BLENDPS BLENDVPD BLENDVPS DPPD
 | 
						||
syn keyword nasmInstructionPENRY DPPS EXTRACTPS INSERTPS MOVNTDQA MPSADBW
 | 
						||
syn keyword nasmInstructionPENRY PACKUSDW PBLENDVB PBLENDW PCMPEQQ PEXTRB
 | 
						||
syn keyword nasmInstructionPENRY PEXTRD PEXTRQ PEXTRW PHMINPOSUW PINSRB
 | 
						||
syn keyword nasmInstructionPENRY PINSRD PINSRQ PMAXSB PMAXSD PMAXUD
 | 
						||
syn keyword nasmInstructionPENRY PMAXUW PMINSB PMINSD PMINUD PMINUW
 | 
						||
syn keyword nasmInstructionPENRY PMOVSXBW PMOVSXBD PMOVSXBQ PMOVSXWD PMOVSXWQ
 | 
						||
syn keyword nasmInstructionPENRY PMOVSXDQ PMOVZXBW PMOVZXBD PMOVZXBQ PMOVZXWD
 | 
						||
syn keyword nasmInstructionPENRY PMOVZXWQ PMOVZXDQ PMULDQ PMULLD PTEST
 | 
						||
syn keyword nasmInstructionPENRY ROUNDPD ROUNDPS ROUNDSD ROUNDSS
 | 
						||
" NEHALEM
 | 
						||
syn keyword nasmInstructionNEHALEM CRC32 PCMPESTRI PCMPESTRM PCMPISTRI PCMPISTRM
 | 
						||
syn keyword nasmInstructionNEHALEM PCMPGTQ POPCNT
 | 
						||
" SMX
 | 
						||
syn keyword nasmInstructionSMX GETSEC 
 | 
						||
" GEODE_3DNOW
 | 
						||
syn keyword nasmInstructionGEODE_3DNOW PFRCPV PFRSQRTV
 | 
						||
" INTEL_NEW
 | 
						||
syn keyword nasmInstructionINTEL_NEW MOVBE 
 | 
						||
" AES
 | 
						||
syn keyword nasmInstructionAES AESENC AESENCLAST AESDEC AESDECLAST AESIMC
 | 
						||
syn keyword nasmInstructionAES AESKEYGENASSIST
 | 
						||
" AVX_AES
 | 
						||
syn keyword nasmInstructionAVX_AES VAESENC VAESENCLAST VAESDEC VAESDECLAST VAESIMC
 | 
						||
syn keyword nasmInstructionAVX_AES VAESKEYGENASSIST
 | 
						||
" INTEL_PUB
 | 
						||
syn keyword nasmInstructionINTEL_PUB VAESENC VAESENCLAST VAESDEC VAESDECLAST VAESENC
 | 
						||
syn keyword nasmInstructionINTEL_PUB VAESENCLAST VAESDEC VAESDECLAST VAESENC VAESENCLAST
 | 
						||
syn keyword nasmInstructionINTEL_PUB VAESDEC VAESDECLAST
 | 
						||
" AVX
 | 
						||
syn keyword nasmInstructionAVX VADDPD VADDPS VADDSD VADDSS VADDSUBPD
 | 
						||
syn keyword nasmInstructionAVX VADDSUBPS VANDPD VANDPS VANDNPD VANDNPS
 | 
						||
syn keyword nasmInstructionAVX VBLENDPD VBLENDPS VBLENDVPD VBLENDVPS VBROADCASTSS
 | 
						||
syn keyword nasmInstructionAVX VBROADCASTSD VBROADCASTF128 VCMPEQ_OSPD VCMPEQPD VCMPLT_OSPD
 | 
						||
syn keyword nasmInstructionAVX VCMPLTPD VCMPLE_OSPD VCMPLEPD VCMPUNORD_QPD VCMPUNORDPD
 | 
						||
syn keyword nasmInstructionAVX VCMPNEQ_UQPD VCMPNEQPD VCMPNLT_USPD VCMPNLTPD VCMPNLE_USPD
 | 
						||
syn keyword nasmInstructionAVX VCMPNLEPD VCMPORD_QPD VCMPORDPD VCMPEQ_UQPD VCMPNGE_USPD
 | 
						||
syn keyword nasmInstructionAVX VCMPNGEPD VCMPNGT_USPD VCMPNGTPD VCMPFALSE_OQPD VCMPFALSEPD
 | 
						||
syn keyword nasmInstructionAVX VCMPNEQ_OQPD VCMPGE_OSPD VCMPGEPD VCMPGT_OSPD VCMPGTPD
 | 
						||
syn keyword nasmInstructionAVX VCMPTRUE_UQPD VCMPTRUEPD VCMPEQ_OSPD VCMPLT_OQPD VCMPLE_OQPD
 | 
						||
syn keyword nasmInstructionAVX VCMPUNORD_SPD VCMPNEQ_USPD VCMPNLT_UQPD VCMPNLE_UQPD VCMPORD_SPD
 | 
						||
syn keyword nasmInstructionAVX VCMPEQ_USPD VCMPNGE_UQPD VCMPNGT_UQPD VCMPFALSE_OSPD VCMPNEQ_OSPD
 | 
						||
syn keyword nasmInstructionAVX VCMPGE_OQPD VCMPGT_OQPD VCMPTRUE_USPD VCMPPD VCMPEQ_OSPS
 | 
						||
syn keyword nasmInstructionAVX VCMPEQPS VCMPLT_OSPS VCMPLTPS VCMPLE_OSPS VCMPLEPS
 | 
						||
syn keyword nasmInstructionAVX VCMPUNORD_QPS VCMPUNORDPS VCMPNEQ_UQPS VCMPNEQPS VCMPNLT_USPS
 | 
						||
syn keyword nasmInstructionAVX VCMPNLTPS VCMPNLE_USPS VCMPNLEPS VCMPORD_QPS VCMPORDPS
 | 
						||
syn keyword nasmInstructionAVX VCMPEQ_UQPS VCMPNGE_USPS VCMPNGEPS VCMPNGT_USPS VCMPNGTPS
 | 
						||
syn keyword nasmInstructionAVX VCMPFALSE_OQPS VCMPFALSEPS VCMPNEQ_OQPS VCMPGE_OSPS VCMPGEPS
 | 
						||
syn keyword nasmInstructionAVX VCMPGT_OSPS VCMPGTPS VCMPTRUE_UQPS VCMPTRUEPS VCMPEQ_OSPS
 | 
						||
syn keyword nasmInstructionAVX VCMPLT_OQPS VCMPLE_OQPS VCMPUNORD_SPS VCMPNEQ_USPS VCMPNLT_UQPS
 | 
						||
syn keyword nasmInstructionAVX VCMPNLE_UQPS VCMPORD_SPS VCMPEQ_USPS VCMPNGE_UQPS VCMPNGT_UQPS
 | 
						||
syn keyword nasmInstructionAVX VCMPFALSE_OSPS VCMPNEQ_OSPS VCMPGE_OQPS VCMPGT_OQPS VCMPTRUE_USPS
 | 
						||
syn keyword nasmInstructionAVX VCMPPS VCMPEQ_OSSD VCMPEQSD VCMPLT_OSSD VCMPLTSD
 | 
						||
syn keyword nasmInstructionAVX VCMPLE_OSSD VCMPLESD VCMPUNORD_QSD VCMPUNORDSD VCMPNEQ_UQSD
 | 
						||
syn keyword nasmInstructionAVX VCMPNEQSD VCMPNLT_USSD VCMPNLTSD VCMPNLE_USSD VCMPNLESD
 | 
						||
syn keyword nasmInstructionAVX VCMPORD_QSD VCMPORDSD VCMPEQ_UQSD VCMPNGE_USSD VCMPNGESD
 | 
						||
syn keyword nasmInstructionAVX VCMPNGT_USSD VCMPNGTSD VCMPFALSE_OQSD VCMPFALSESD VCMPNEQ_OQSD
 | 
						||
syn keyword nasmInstructionAVX VCMPGE_OSSD VCMPGESD VCMPGT_OSSD VCMPGTSD VCMPTRUE_UQSD
 | 
						||
syn keyword nasmInstructionAVX VCMPTRUESD VCMPEQ_OSSD VCMPLT_OQSD VCMPLE_OQSD VCMPUNORD_SSD
 | 
						||
syn keyword nasmInstructionAVX VCMPNEQ_USSD VCMPNLT_UQSD VCMPNLE_UQSD VCMPORD_SSD VCMPEQ_USSD
 | 
						||
syn keyword nasmInstructionAVX VCMPNGE_UQSD VCMPNGT_UQSD VCMPFALSE_OSSD VCMPNEQ_OSSD VCMPGE_OQSD
 | 
						||
syn keyword nasmInstructionAVX VCMPGT_OQSD VCMPTRUE_USSD VCMPSD VCMPEQ_OSSS VCMPEQSS
 | 
						||
syn keyword nasmInstructionAVX VCMPLT_OSSS VCMPLTSS VCMPLE_OSSS VCMPLESS VCMPUNORD_QSS
 | 
						||
syn keyword nasmInstructionAVX VCMPUNORDSS VCMPNEQ_UQSS VCMPNEQSS VCMPNLT_USSS VCMPNLTSS
 | 
						||
syn keyword nasmInstructionAVX VCMPNLE_USSS VCMPNLESS VCMPORD_QSS VCMPORDSS VCMPEQ_UQSS
 | 
						||
syn keyword nasmInstructionAVX VCMPNGE_USSS VCMPNGESS VCMPNGT_USSS VCMPNGTSS VCMPFALSE_OQSS
 | 
						||
syn keyword nasmInstructionAVX VCMPFALSESS VCMPNEQ_OQSS VCMPGE_OSSS VCMPGESS VCMPGT_OSSS
 | 
						||
syn keyword nasmInstructionAVX VCMPGTSS VCMPTRUE_UQSS VCMPTRUESS VCMPEQ_OSSS VCMPLT_OQSS
 | 
						||
syn keyword nasmInstructionAVX VCMPLE_OQSS VCMPUNORD_SSS VCMPNEQ_USSS VCMPNLT_UQSS VCMPNLE_UQSS
 | 
						||
syn keyword nasmInstructionAVX VCMPORD_SSS VCMPEQ_USSS VCMPNGE_UQSS VCMPNGT_UQSS VCMPFALSE_OSSS
 | 
						||
syn keyword nasmInstructionAVX VCMPNEQ_OSSS VCMPGE_OQSS VCMPGT_OQSS VCMPTRUE_USSS VCMPSS
 | 
						||
syn keyword nasmInstructionAVX VCOMISD VCOMISS VCVTDQ2PD VCVTDQ2PS VCVTPD2DQ
 | 
						||
syn keyword nasmInstructionAVX VCVTPD2PS VCVTPS2DQ VCVTPS2PD VCVTSD2SI VCVTSD2SS
 | 
						||
syn keyword nasmInstructionAVX VCVTSI2SD VCVTSI2SS VCVTSS2SD VCVTSS2SI VCVTTPD2DQ
 | 
						||
syn keyword nasmInstructionAVX VCVTTPS2DQ VCVTTSD2SI VCVTTSS2SI VDIVPD VDIVPS
 | 
						||
syn keyword nasmInstructionAVX VDIVSD VDIVSS VDPPD VDPPS VEXTRACTF128
 | 
						||
syn keyword nasmInstructionAVX VEXTRACTPS VHADDPD VHADDPS VHSUBPD VHSUBPS
 | 
						||
syn keyword nasmInstructionAVX VINSERTF128 VINSERTPS VLDDQU VLDQQU VLDDQU
 | 
						||
syn keyword nasmInstructionAVX VLDMXCSR VMASKMOVDQU VMASKMOVPS VMASKMOVPD VMAXPD
 | 
						||
syn keyword nasmInstructionAVX VMAXPS VMAXSD VMAXSS VMINPD VMINPS
 | 
						||
syn keyword nasmInstructionAVX VMINSD VMINSS VMOVAPD VMOVAPS VMOVD
 | 
						||
syn keyword nasmInstructionAVX VMOVQ VMOVDDUP VMOVDQA VMOVQQA VMOVDQA
 | 
						||
syn keyword nasmInstructionAVX VMOVDQU VMOVQQU VMOVDQU VMOVHLPS VMOVHPD
 | 
						||
syn keyword nasmInstructionAVX VMOVHPS VMOVLHPS VMOVLPD VMOVLPS VMOVMSKPD
 | 
						||
syn keyword nasmInstructionAVX VMOVMSKPS VMOVNTDQ VMOVNTQQ VMOVNTDQ VMOVNTDQA
 | 
						||
syn keyword nasmInstructionAVX VMOVNTPD VMOVNTPS VMOVSD VMOVSHDUP VMOVSLDUP
 | 
						||
syn keyword nasmInstructionAVX VMOVSS VMOVUPD VMOVUPS VMPSADBW VMULPD
 | 
						||
syn keyword nasmInstructionAVX VMULPS VMULSD VMULSS VORPD VORPS
 | 
						||
syn keyword nasmInstructionAVX VPABSB VPABSW VPABSD VPACKSSWB VPACKSSDW
 | 
						||
syn keyword nasmInstructionAVX VPACKUSWB VPACKUSDW VPADDB VPADDW VPADDD
 | 
						||
syn keyword nasmInstructionAVX VPADDQ VPADDSB VPADDSW VPADDUSB VPADDUSW
 | 
						||
syn keyword nasmInstructionAVX VPALIGNR VPAND VPANDN VPAVGB VPAVGW
 | 
						||
syn keyword nasmInstructionAVX VPBLENDVB VPBLENDW VPCMPESTRI VPCMPESTRM VPCMPISTRI
 | 
						||
syn keyword nasmInstructionAVX VPCMPISTRM VPCMPEQB VPCMPEQW VPCMPEQD VPCMPEQQ
 | 
						||
syn keyword nasmInstructionAVX VPCMPGTB VPCMPGTW VPCMPGTD VPCMPGTQ VPERMILPD
 | 
						||
syn keyword nasmInstructionAVX VPERMILPS VPERM2F128 VPEXTRB VPEXTRW VPEXTRD
 | 
						||
syn keyword nasmInstructionAVX VPEXTRQ VPHADDW VPHADDD VPHADDSW VPHMINPOSUW
 | 
						||
syn keyword nasmInstructionAVX VPHSUBW VPHSUBD VPHSUBSW VPINSRB VPINSRW
 | 
						||
syn keyword nasmInstructionAVX VPINSRD VPINSRQ VPMADDWD VPMADDUBSW VPMAXSB
 | 
						||
syn keyword nasmInstructionAVX VPMAXSW VPMAXSD VPMAXUB VPMAXUW VPMAXUD
 | 
						||
syn keyword nasmInstructionAVX VPMINSB VPMINSW VPMINSD VPMINUB VPMINUW
 | 
						||
syn keyword nasmInstructionAVX VPMINUD VPMOVMSKB VPMOVSXBW VPMOVSXBD VPMOVSXBQ
 | 
						||
syn keyword nasmInstructionAVX VPMOVSXWD VPMOVSXWQ VPMOVSXDQ VPMOVZXBW VPMOVZXBD
 | 
						||
syn keyword nasmInstructionAVX VPMOVZXBQ VPMOVZXWD VPMOVZXWQ VPMOVZXDQ VPMULHUW
 | 
						||
syn keyword nasmInstructionAVX VPMULHRSW VPMULHW VPMULLW VPMULLD VPMULUDQ
 | 
						||
syn keyword nasmInstructionAVX VPMULDQ VPOR VPSADBW VPSHUFB VPSHUFD
 | 
						||
syn keyword nasmInstructionAVX VPSHUFHW VPSHUFLW VPSIGNB VPSIGNW VPSIGND
 | 
						||
syn keyword nasmInstructionAVX VPSLLDQ VPSRLDQ VPSLLW VPSLLD VPSLLQ
 | 
						||
syn keyword nasmInstructionAVX VPSRAW VPSRAD VPSRLW VPSRLD VPSRLQ
 | 
						||
syn keyword nasmInstructionAVX VPTEST VPSUBB VPSUBW VPSUBD VPSUBQ
 | 
						||
syn keyword nasmInstructionAVX VPSUBSB VPSUBSW VPSUBUSB VPSUBUSW VPUNPCKHBW
 | 
						||
syn keyword nasmInstructionAVX VPUNPCKHWD VPUNPCKHDQ VPUNPCKHQDQ VPUNPCKLBW VPUNPCKLWD
 | 
						||
syn keyword nasmInstructionAVX VPUNPCKLDQ VPUNPCKLQDQ VPXOR VRCPPS VRCPSS
 | 
						||
syn keyword nasmInstructionAVX VRSQRTPS VRSQRTSS VROUNDPD VROUNDPS VROUNDSD
 | 
						||
syn keyword nasmInstructionAVX VROUNDSS VSHUFPD VSHUFPS VSQRTPD VSQRTPS
 | 
						||
syn keyword nasmInstructionAVX VSQRTSD VSQRTSS VSTMXCSR VSUBPD VSUBPS
 | 
						||
syn keyword nasmInstructionAVX VSUBSD VSUBSS VTESTPS VTESTPD VUCOMISD
 | 
						||
syn keyword nasmInstructionAVX VUCOMISS VUNPCKHPD VUNPCKHPS VUNPCKLPD VUNPCKLPS
 | 
						||
syn keyword nasmInstructionAVX VXORPD VXORPS VZEROALL VZEROUPPER
 | 
						||
" INTEL_CMUL
 | 
						||
syn keyword nasmInstructionINTEL_CMUL PCLMULLQLQDQ PCLMULHQLQDQ PCLMULLQHQDQ PCLMULHQHQDQ PCLMULQDQ
 | 
						||
" INTEL_AVX_CMUL
 | 
						||
syn keyword nasmInstructionINTEL_AVX_CMUL VPCLMULLQLQDQ VPCLMULHQLQDQ VPCLMULLQHQDQ VPCLMULHQHQDQ VPCLMULQDQ
 | 
						||
syn keyword nasmInstructionINTEL_AVX_CMUL VPCLMULLQLQDQ VPCLMULHQLQDQ VPCLMULLQHQDQ VPCLMULHQHQDQ VPCLMULQDQ
 | 
						||
syn keyword nasmInstructionINTEL_AVX_CMUL VPCLMULLQLQDQ VPCLMULHQLQDQ VPCLMULLQHQDQ VPCLMULHQHQDQ VPCLMULQDQ
 | 
						||
syn keyword nasmInstructionINTEL_AVX_CMUL VPCLMULLQLQDQ VPCLMULHQLQDQ VPCLMULLQHQDQ VPCLMULHQHQDQ VPCLMULQDQ
 | 
						||
syn keyword nasmInstructionINTEL_AVX_CMUL VPCLMULLQLQDQ VPCLMULHQLQDQ VPCLMULLQHQDQ VPCLMULHQHQDQ VPCLMULQDQ
 | 
						||
" INTEL_FMA
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFMADD132PS VFMADD132PD VFMADD312PS VFMADD312PD VFMADD213PS
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFMADD213PD VFMADD123PS VFMADD123PD VFMADD231PS VFMADD231PD
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFMADD321PS VFMADD321PD VFMADDSUB132PS VFMADDSUB132PD VFMADDSUB312PS
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFMADDSUB312PD VFMADDSUB213PS VFMADDSUB213PD VFMADDSUB123PS VFMADDSUB123PD
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFMADDSUB231PS VFMADDSUB231PD VFMADDSUB321PS VFMADDSUB321PD VFMSUB132PS
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFMSUB132PD VFMSUB312PS VFMSUB312PD VFMSUB213PS VFMSUB213PD
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFMSUB123PS VFMSUB123PD VFMSUB231PS VFMSUB231PD VFMSUB321PS
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFMSUB321PD VFMSUBADD132PS VFMSUBADD132PD VFMSUBADD312PS VFMSUBADD312PD
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFMSUBADD213PS VFMSUBADD213PD VFMSUBADD123PS VFMSUBADD123PD VFMSUBADD231PS
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFMSUBADD231PD VFMSUBADD321PS VFMSUBADD321PD VFNMADD132PS VFNMADD132PD
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFNMADD312PS VFNMADD312PD VFNMADD213PS VFNMADD213PD VFNMADD123PS
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFNMADD123PD VFNMADD231PS VFNMADD231PD VFNMADD321PS VFNMADD321PD
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFNMSUB132PS VFNMSUB132PD VFNMSUB312PS VFNMSUB312PD VFNMSUB213PS
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFNMSUB213PD VFNMSUB123PS VFNMSUB123PD VFNMSUB231PS VFNMSUB231PD
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFNMSUB321PS VFNMSUB321PD VFMADD132SS VFMADD132SD VFMADD312SS
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFMADD312SD VFMADD213SS VFMADD213SD VFMADD123SS VFMADD123SD
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFMADD231SS VFMADD231SD VFMADD321SS VFMADD321SD VFMSUB132SS
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFMSUB132SD VFMSUB312SS VFMSUB312SD VFMSUB213SS VFMSUB213SD
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFMSUB123SS VFMSUB123SD VFMSUB231SS VFMSUB231SD VFMSUB321SS
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFMSUB321SD VFNMADD132SS VFNMADD132SD VFNMADD312SS VFNMADD312SD
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFNMADD213SS VFNMADD213SD VFNMADD123SS VFNMADD123SD VFNMADD231SS
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFNMADD231SD VFNMADD321SS VFNMADD321SD VFNMSUB132SS VFNMSUB132SD
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFNMSUB312SS VFNMSUB312SD VFNMSUB213SS VFNMSUB213SD VFNMSUB123SS
 | 
						||
syn keyword nasmInstructionINTEL_FMA VFNMSUB123SD VFNMSUB231SS VFNMSUB231SD VFNMSUB321SS VFNMSUB321SD
 | 
						||
" INTEL_POST32
 | 
						||
syn keyword nasmInstructionINTEL_POST32 RDFSBASE RDGSBASE RDRAND WRFSBASE WRGSBASE
 | 
						||
syn keyword nasmInstructionINTEL_POST32 VCVTPH2PS VCVTPS2PH ADCX ADOX RDSEED
 | 
						||
" SUPERVISOR
 | 
						||
syn keyword nasmInstructionSUPERVISOR CLAC STAC
 | 
						||
" VIA_SECURITY
 | 
						||
syn keyword nasmInstructionVIA_SECURITY XSTORE XCRYPTECB XCRYPTCBC XCRYPTCTR XCRYPTCFB
 | 
						||
syn keyword nasmInstructionVIA_SECURITY XCRYPTOFB MONTMUL XSHA1 XSHA256
 | 
						||
" AMD_PROFILING
 | 
						||
syn keyword nasmInstructionAMD_PROFILING LLWPCB SLWPCB LWPVAL LWPINS
 | 
						||
" XOP_FMA4
 | 
						||
syn keyword nasmInstructionXOP_FMA4 VFMADDPD VFMADDPS VFMADDSD VFMADDSS VFMADDSUBPD
 | 
						||
syn keyword nasmInstructionXOP_FMA4 VFMADDSUBPS VFMSUBADDPD VFMSUBADDPS VFMSUBPD VFMSUBPS
 | 
						||
syn keyword nasmInstructionXOP_FMA4 VFMSUBSD VFMSUBSS VFNMADDPD VFNMADDPS VFNMADDSD
 | 
						||
syn keyword nasmInstructionXOP_FMA4 VFNMADDSS VFNMSUBPD VFNMSUBPS VFNMSUBSD VFNMSUBSS
 | 
						||
syn keyword nasmInstructionXOP_FMA4 VFRCZPD VFRCZPS VFRCZSD VFRCZSS VPCMOV
 | 
						||
syn keyword nasmInstructionXOP_FMA4 VPCOMB VPCOMD VPCOMQ VPCOMUB VPCOMUD
 | 
						||
syn keyword nasmInstructionXOP_FMA4 VPCOMUQ VPCOMUW VPCOMW VPHADDBD VPHADDBQ
 | 
						||
syn keyword nasmInstructionXOP_FMA4 VPHADDBW VPHADDDQ VPHADDUBD VPHADDUBQ VPHADDUBW
 | 
						||
syn keyword nasmInstructionXOP_FMA4 VPHADDUDQ VPHADDUWD VPHADDUWQ VPHADDWD VPHADDWQ
 | 
						||
syn keyword nasmInstructionXOP_FMA4 VPHSUBBW VPHSUBDQ VPHSUBWD VPMACSDD VPMACSDQH
 | 
						||
syn keyword nasmInstructionXOP_FMA4 VPMACSDQL VPMACSSDD VPMACSSDQH VPMACSSDQL VPMACSSWD
 | 
						||
syn keyword nasmInstructionXOP_FMA4 VPMACSSWW VPMACSWD VPMACSWW VPMADCSSWD VPMADCSWD
 | 
						||
syn keyword nasmInstructionXOP_FMA4 VPPERM VPROTB VPROTD VPROTQ VPROTW
 | 
						||
syn keyword nasmInstructionXOP_FMA4 VPSHAB VPSHAD VPSHAQ VPSHAW VPSHLB
 | 
						||
syn keyword nasmInstructionXOP_FMA4 VPSHLD VPSHLQ VPSHLW
 | 
						||
" AVX2
 | 
						||
syn keyword nasmInstructionAVX2 VMPSADBW VPABSB VPABSW VPABSD VPACKSSWB
 | 
						||
syn keyword nasmInstructionAVX2 VPACKSSDW VPACKUSDW VPACKUSWB VPADDB VPADDW
 | 
						||
syn keyword nasmInstructionAVX2 VPADDD VPADDQ VPADDSB VPADDSW VPADDUSB
 | 
						||
syn keyword nasmInstructionAVX2 VPADDUSW VPALIGNR VPAND VPANDN VPAVGB
 | 
						||
syn keyword nasmInstructionAVX2 VPAVGW VPBLENDVB VPBLENDW VPCMPEQB VPCMPEQW
 | 
						||
syn keyword nasmInstructionAVX2 VPCMPEQD VPCMPEQQ VPCMPGTB VPCMPGTW VPCMPGTD
 | 
						||
syn keyword nasmInstructionAVX2 VPCMPGTQ VPHADDW VPHADDD VPHADDSW VPHSUBW
 | 
						||
syn keyword nasmInstructionAVX2 VPHSUBD VPHSUBSW VPMADDUBSW VPMADDWD VPMAXSB
 | 
						||
syn keyword nasmInstructionAVX2 VPMAXSW VPMAXSD VPMAXUB VPMAXUW VPMAXUD
 | 
						||
syn keyword nasmInstructionAVX2 VPMINSB VPMINSW VPMINSD VPMINUB VPMINUW
 | 
						||
syn keyword nasmInstructionAVX2 VPMINUD VPMOVMSKB VPMOVSXBW VPMOVSXBD VPMOVSXBQ
 | 
						||
syn keyword nasmInstructionAVX2 VPMOVSXWD VPMOVSXWQ VPMOVSXDQ VPMOVZXBW VPMOVZXBD
 | 
						||
syn keyword nasmInstructionAVX2 VPMOVZXBQ VPMOVZXWD VPMOVZXWQ VPMOVZXDQ VPMULDQ
 | 
						||
syn keyword nasmInstructionAVX2 VPMULHRSW VPMULHUW VPMULHW VPMULLW VPMULLD
 | 
						||
syn keyword nasmInstructionAVX2 VPMULUDQ VPOR VPSADBW VPSHUFB VPSHUFD
 | 
						||
syn keyword nasmInstructionAVX2 VPSHUFHW VPSHUFLW VPSIGNB VPSIGNW VPSIGND
 | 
						||
syn keyword nasmInstructionAVX2 VPSLLDQ VPSLLW VPSLLD VPSLLQ VPSRAW
 | 
						||
syn keyword nasmInstructionAVX2 VPSRAD VPSRLDQ VPSRLW VPSRLD VPSRLQ
 | 
						||
syn keyword nasmInstructionAVX2 VPSUBB VPSUBW VPSUBD VPSUBQ VPSUBSB
 | 
						||
syn keyword nasmInstructionAVX2 VPSUBSW VPSUBUSB VPSUBUSW VPUNPCKHBW VPUNPCKHWD
 | 
						||
syn keyword nasmInstructionAVX2 VPUNPCKHDQ VPUNPCKHQDQ VPUNPCKLBW VPUNPCKLWD VPUNPCKLDQ
 | 
						||
syn keyword nasmInstructionAVX2 VPUNPCKLQDQ VPXOR VMOVNTDQA VBROADCASTSS VBROADCASTSD
 | 
						||
syn keyword nasmInstructionAVX2 VBROADCASTI128 VPBLENDD VPBROADCASTB VPBROADCASTW VPBROADCASTD
 | 
						||
syn keyword nasmInstructionAVX2 VPBROADCASTQ VPERMD VPERMPD VPERMPS VPERMQ
 | 
						||
syn keyword nasmInstructionAVX2 VPERM2I128 VEXTRACTI128 VINSERTI128 VPMASKMOVD VPMASKMOVQ
 | 
						||
syn keyword nasmInstructionAVX2 VPMASKMOVD VPMASKMOVQ VPSLLVD VPSLLVQ VPSLLVD
 | 
						||
syn keyword nasmInstructionAVX2 VPSLLVQ VPSRAVD VPSRLVD VPSRLVQ VPSRLVD
 | 
						||
syn keyword nasmInstructionAVX2 VPSRLVQ VGATHERDPD VGATHERQPD VGATHERDPD VGATHERQPD
 | 
						||
syn keyword nasmInstructionAVX2 VGATHERDPS VGATHERQPS VGATHERDPS VGATHERQPS VPGATHERDD
 | 
						||
syn keyword nasmInstructionAVX2 VPGATHERQD VPGATHERDD VPGATHERQD VPGATHERDQ VPGATHERQQ
 | 
						||
syn keyword nasmInstructionAVX2 VPGATHERDQ VPGATHERQQ
 | 
						||
" TRANSACTIONS
 | 
						||
syn keyword nasmInstructionTRANSACTIONS XABORT XBEGIN XEND XTEST
 | 
						||
" BMI_ABM
 | 
						||
syn keyword nasmInstructionBMI_ABM ANDN BEXTR BLCI BLCIC BLSI
 | 
						||
syn keyword nasmInstructionBMI_ABM BLSIC BLCFILL BLSFILL BLCMSK BLSMSK
 | 
						||
syn keyword nasmInstructionBMI_ABM BLSR BLCS BZHI MULX PDEP
 | 
						||
syn keyword nasmInstructionBMI_ABM PEXT RORX SARX SHLX SHRX
 | 
						||
syn keyword nasmInstructionBMI_ABM TZCNT TZMSK T1MSKC PREFETCHWT1
 | 
						||
" MPE
 | 
						||
syn keyword nasmInstructionMPE BNDMK BNDCL BNDCU BNDCN BNDMOV
 | 
						||
syn keyword nasmInstructionMPE BNDLDX BNDSTX
 | 
						||
" SHA
 | 
						||
syn keyword nasmInstructionSHA SHA1MSG1 SHA1MSG2 SHA1NEXTE SHA1RNDS4 SHA256MSG1
 | 
						||
syn keyword nasmInstructionSHA SHA256MSG2 SHA256RNDS2 VSHA512MSG1 VSHA512MSG2 VSHA512RNDS2
 | 
						||
" SM3
 | 
						||
syn keyword nasmInstructionSM3 VSM3MSG1 VSM3MSG2 VSM3RNDS2
 | 
						||
" SM4
 | 
						||
syn keyword nasmInstructionSM4 VSM4KEY4 VSM4RNDS4
 | 
						||
" AVX_NOEXCEPT
 | 
						||
syn keyword nasmInstructionAVX_NOEXCEPT VBCSTNEBF16PS VBCSTNESH2PS VCVTNEEBF162PS VCVTNEEPH2PS VCVTNEOBF162PS
 | 
						||
syn keyword nasmInstructionAVX_NOEXCEPT VCVTNEOPH2PS VCVTNEPS2BF16
 | 
						||
" AVX_VECTOR_NN
 | 
						||
syn keyword nasmInstructionAVX_VECTOR_NN VPDPBSSD VPDPBSSDS VPDPBSUD VPDPBSUDS VPDPBUUD
 | 
						||
syn keyword nasmInstructionAVX_VECTOR_NN VPDPBUUDS
 | 
						||
" AVX_IFMA
 | 
						||
syn keyword nasmInstructionAVX_IFMA VPMADD52HUQ VPMADD52LUQ
 | 
						||
" AVX512_MASK
 | 
						||
syn keyword nasmInstructionAVX512_MASK KADDB KADDD KADDQ KADDW KANDB
 | 
						||
syn keyword nasmInstructionAVX512_MASK KANDD KANDNB KANDND KANDNQ KANDNW
 | 
						||
syn keyword nasmInstructionAVX512_MASK KANDQ KANDW KMOVB KMOVD KMOVQ
 | 
						||
syn keyword nasmInstructionAVX512_MASK KMOVW KNOTB KNOTD KNOTQ KNOTW
 | 
						||
syn keyword nasmInstructionAVX512_MASK KORB KORD KORQ KORW KORTESTB
 | 
						||
syn keyword nasmInstructionAVX512_MASK KORTESTD KORTESTQ KORTESTW KSHIFTLB KSHIFTLD
 | 
						||
syn keyword nasmInstructionAVX512_MASK KSHIFTLQ KSHIFTLW KSHIFTRB KSHIFTRD KSHIFTRQ
 | 
						||
syn keyword nasmInstructionAVX512_MASK KSHIFTRW KTESTB KTESTD KTESTQ KTESTW
 | 
						||
syn keyword nasmInstructionAVX512_MASK KUNPCKBW KUNPCKDQ KUNPCKWD KXNORB KXNORD
 | 
						||
syn keyword nasmInstructionAVX512_MASK KXNORQ KXNORW KXORB KXORD KXORQ
 | 
						||
syn keyword nasmInstructionAVX512_MASK KXORW
 | 
						||
" AVX512_MASK_REG
 | 
						||
syn keyword nasmInstructionAVX512_MASK_REG KADD KAND KANDN KAND KMOV
 | 
						||
syn keyword nasmInstructionAVX512_MASK_REG KNOT KOR KORTEST KSHIFTL KSHIFTR
 | 
						||
syn keyword nasmInstructionAVX512_MASK_REG KTEST KUNPCK KXNOR KXOR
 | 
						||
" AVX512
 | 
						||
syn keyword nasmInstructionAVX512 VADDPD VADDPS VADDSD VADDSS VALIGND
 | 
						||
syn keyword nasmInstructionAVX512 VALIGNQ VANDNPD VANDNPS VANDPD VANDPS
 | 
						||
syn keyword nasmInstructionAVX512 VBLENDMPD VBLENDMPS VBROADCASTF32X2 VBROADCASTF32X4 VBROADCASTF32X8
 | 
						||
syn keyword nasmInstructionAVX512 VBROADCASTF64X2 VBROADCASTF64X4 VBROADCASTI32X2 VBROADCASTI32X4 VBROADCASTI32X8
 | 
						||
syn keyword nasmInstructionAVX512 VBROADCASTI64X2 VBROADCASTI64X4 VBROADCASTSD VBROADCASTSS VCMPEQPD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPEQPS VCMPEQSD VCMPEQSS VCMPEQ_OQPD VCMPEQ_OQPS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPEQ_OQSD VCMPEQ_OQSS VCMPLTPD VCMPLTPS VCMPLTSD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPLTSS VCMPLT_OSPD VCMPLT_OSPS VCMPLT_OSSD VCMPLT_OSSS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPLEPD VCMPLEPS VCMPLESD VCMPLESS VCMPLE_OSPD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPLE_OSPS VCMPLE_OSSD VCMPLE_OSSS VCMPUNORDPD VCMPUNORDPS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPUNORDSD VCMPUNORDSS VCMPUNORD_QPD VCMPUNORD_QPS VCMPUNORD_QSD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPUNORD_QSS VCMPNEQPD VCMPNEQPS VCMPNEQSD VCMPNEQSS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPNEQ_UQPD VCMPNEQ_UQPS VCMPNEQ_UQSD VCMPNEQ_UQSS VCMPNLTPD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPNLTPS VCMPNLTSD VCMPNLTSS VCMPNLT_USPD VCMPNLT_USPS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPNLT_USSD VCMPNLT_USSS VCMPNLEPD VCMPNLEPS VCMPNLESD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPNLESS VCMPNLE_USPD VCMPNLE_USPS VCMPNLE_USSD VCMPNLE_USSS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPORDPD VCMPORDPS VCMPORDSD VCMPORDSS VCMPORD_QPD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPORD_QPS VCMPORD_QSD VCMPORD_QSS VCMPEQ_UQPD VCMPEQ_UQPS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPEQ_UQSD VCMPEQ_UQSS VCMPNGEPD VCMPNGEPS VCMPNGESD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPNGESS VCMPNGE_USPD VCMPNGE_USPS VCMPNGE_USSD VCMPNGE_USSS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPNGTPD VCMPNGTPS VCMPNGTSD VCMPNGTSS VCMPNGT_USPD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPNGT_USPS VCMPNGT_USSD VCMPNGT_USSS VCMPFALSEPD VCMPFALSEPS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPFALSESD VCMPFALSESS VCMPFALSE_OQPD VCMPFALSE_OQPS VCMPFALSE_OQSD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPFALSE_OQSS VCMPNEQ_OQPD VCMPNEQ_OQPS VCMPNEQ_OQSD VCMPNEQ_OQSS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPGEPD VCMPGEPS VCMPGESD VCMPGESS VCMPGE_OSPD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPGE_OSPS VCMPGE_OSSD VCMPGE_OSSS VCMPGTPD VCMPGTPS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPGTSD VCMPGTSS VCMPGT_OSPD VCMPGT_OSPS VCMPGT_OSSD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPGT_OSSS VCMPTRUEPD VCMPTRUEPS VCMPTRUESD VCMPTRUESS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPTRUE_UQPD VCMPTRUE_UQPS VCMPTRUE_UQSD VCMPTRUE_UQSS VCMPEQ_OSPD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPEQ_OSPS VCMPEQ_OSSD VCMPEQ_OSSS VCMPLT_OQPD VCMPLT_OQPS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPLT_OQSD VCMPLT_OQSS VCMPLE_OQPD VCMPLE_OQPS VCMPLE_OQSD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPLE_OQSS VCMPUNORD_SPD VCMPUNORD_SPS VCMPUNORD_SSD VCMPUNORD_SSS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPNEQ_USPD VCMPNEQ_USPS VCMPNEQ_USSD VCMPNEQ_USSS VCMPNLT_UQPD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPNLT_UQPS VCMPNLT_UQSD VCMPNLT_UQSS VCMPNLE_UQPD VCMPNLE_UQPS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPNLE_UQSD VCMPNLE_UQSS VCMPORD_SPD VCMPORD_SPS VCMPORD_SSD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPORD_SSS VCMPEQ_USPD VCMPEQ_USPS VCMPEQ_USSD VCMPEQ_USSS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPNGE_UQPD VCMPNGE_UQPS VCMPNGE_UQSD VCMPNGE_UQSS VCMPNGT_UQPD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPNGT_UQPS VCMPNGT_UQSD VCMPNGT_UQSS VCMPFALSE_OSPD VCMPFALSE_OSPS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPFALSE_OSSD VCMPFALSE_OSSS VCMPNEQ_OSPD VCMPNEQ_OSPS VCMPNEQ_OSSD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPNEQ_OSSS VCMPGE_OQPD VCMPGE_OQPS VCMPGE_OQSD VCMPGE_OQSS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPGT_OQPD VCMPGT_OQPS VCMPGT_OQSD VCMPGT_OQSS VCMPTRUE_USPD
 | 
						||
syn keyword nasmInstructionAVX512 VCMPTRUE_USPS VCMPTRUE_USSD VCMPTRUE_USSS VCMPPD VCMPPS
 | 
						||
syn keyword nasmInstructionAVX512 VCMPSD VCMPSS VCOMISD VCOMISS VCOMPRESSPD
 | 
						||
syn keyword nasmInstructionAVX512 VCOMPRESSPS VCVTDQ2PD VCVTDQ2PS VCVTPD2DQ VCVTPD2PS
 | 
						||
syn keyword nasmInstructionAVX512 VCVTPD2QQ VCVTPD2UDQ VCVTPD2UQQ VCVTPH2PS VCVTPS2DQ
 | 
						||
syn keyword nasmInstructionAVX512 VCVTPS2PD VCVTPS2PH VCVTPS2QQ VCVTPS2UDQ VCVTPS2UQQ
 | 
						||
syn keyword nasmInstructionAVX512 VCVTQQ2PD VCVTQQ2PS VCVTSD2SI VCVTSD2SS VCVTSD2USI
 | 
						||
syn keyword nasmInstructionAVX512 VCVTSI2SD VCVTSI2SS VCVTSS2SD VCVTSS2SI VCVTSS2USI
 | 
						||
syn keyword nasmInstructionAVX512 VCVTTPD2DQ VCVTTPD2QQ VCVTTPD2UDQ VCVTTPD2UQQ VCVTTPS2DQ
 | 
						||
syn keyword nasmInstructionAVX512 VCVTTPS2QQ VCVTTPS2UDQ VCVTTPS2UQQ VCVTTSD2SI VCVTTSD2USI
 | 
						||
syn keyword nasmInstructionAVX512 VCVTTSS2SI VCVTTSS2USI VCVTUDQ2PD VCVTUDQ2PS VCVTUQQ2PD
 | 
						||
syn keyword nasmInstructionAVX512 VCVTUQQ2PS VCVTUSI2SD VCVTUSI2SS VDBPSADBW VDIVPD
 | 
						||
syn keyword nasmInstructionAVX512 VDIVPS VDIVSD VDIVSS VEXP2PD VEXP2PS
 | 
						||
syn keyword nasmInstructionAVX512 VEXPANDPD VEXPANDPS VEXTRACTF32X4 VEXTRACTF32X8 VEXTRACTF64X2
 | 
						||
syn keyword nasmInstructionAVX512 VEXTRACTF64X4 VEXTRACTI32X4 VEXTRACTI32X8 VEXTRACTI64X2 VEXTRACTI64X4
 | 
						||
syn keyword nasmInstructionAVX512 VEXTRACTPS VFIXUPIMMPD VFIXUPIMMPS VFIXUPIMMSD VFIXUPIMMSS
 | 
						||
syn keyword nasmInstructionAVX512 VFMADD132PD VFMADD132PS VFMADD132SD VFMADD132SS VFMADD213PD
 | 
						||
syn keyword nasmInstructionAVX512 VFMADD213PS VFMADD213SD VFMADD213SS VFMADD231PD VFMADD231PS
 | 
						||
syn keyword nasmInstructionAVX512 VFMADD231SD VFMADD231SS VFMADDSUB132PD VFMADDSUB132PS VFMADDSUB213PD
 | 
						||
syn keyword nasmInstructionAVX512 VFMADDSUB213PS VFMADDSUB231PD VFMADDSUB231PS VFMSUB132PD VFMSUB132PS
 | 
						||
syn keyword nasmInstructionAVX512 VFMSUB132SD VFMSUB132SS VFMSUB213PD VFMSUB213PS VFMSUB213SD
 | 
						||
syn keyword nasmInstructionAVX512 VFMSUB213SS VFMSUB231PD VFMSUB231PS VFMSUB231SD VFMSUB231SS
 | 
						||
syn keyword nasmInstructionAVX512 VFMSUBADD132PD VFMSUBADD132PS VFMSUBADD213PD VFMSUBADD213PS VFMSUBADD231PD
 | 
						||
syn keyword nasmInstructionAVX512 VFMSUBADD231PS VFNMADD132PD VFNMADD132PS VFNMADD132SD VFNMADD132SS
 | 
						||
syn keyword nasmInstructionAVX512 VFNMADD213PD VFNMADD213PS VFNMADD213SD VFNMADD213SS VFNMADD231PD
 | 
						||
syn keyword nasmInstructionAVX512 VFNMADD231PS VFNMADD231SD VFNMADD231SS VFNMSUB132PD VFNMSUB132PS
 | 
						||
syn keyword nasmInstructionAVX512 VFNMSUB132SD VFNMSUB132SS VFNMSUB213PD VFNMSUB213PS VFNMSUB213SD
 | 
						||
syn keyword nasmInstructionAVX512 VFNMSUB213SS VFNMSUB231PD VFNMSUB231PS VFNMSUB231SD VFNMSUB231SS
 | 
						||
syn keyword nasmInstructionAVX512 VFPCLASSPD VFPCLASSPS VFPCLASSSD VFPCLASSSS VGATHERDPD
 | 
						||
syn keyword nasmInstructionAVX512 VGATHERDPS VGATHERPF0DPD VGATHERPF0DPS VGATHERPF0QPD VGATHERPF0QPS
 | 
						||
syn keyword nasmInstructionAVX512 VGATHERPF1DPD VGATHERPF1DPS VGATHERPF1QPD VGATHERPF1QPS VGATHERQPD
 | 
						||
syn keyword nasmInstructionAVX512 VGATHERQPS VGETEXPPD VGETEXPPS VGETEXPSD VGETEXPSS
 | 
						||
syn keyword nasmInstructionAVX512 VGETMANTPD VGETMANTPS VGETMANTSD VGETMANTSS VINSERTF32X4
 | 
						||
syn keyword nasmInstructionAVX512 VINSERTF32X8 VINSERTF64X2 VINSERTF64X4 VINSERTI32X4 VINSERTI32X8
 | 
						||
syn keyword nasmInstructionAVX512 VINSERTI64X2 VINSERTI64X4 VINSERTPS VMAXPD VMAXPS
 | 
						||
syn keyword nasmInstructionAVX512 VMAXSD VMAXSS VMINPD VMINPS VMINSD
 | 
						||
syn keyword nasmInstructionAVX512 VMINSS VMOVAPD VMOVAPS VMOVD VMOVDDUP
 | 
						||
syn keyword nasmInstructionAVX512 VMOVDQA32 VMOVDQA64 VMOVDQU16 VMOVDQU32 VMOVDQU64
 | 
						||
syn keyword nasmInstructionAVX512 VMOVDQU8 VMOVHLPS VMOVHPD VMOVHPS VMOVLHPS
 | 
						||
syn keyword nasmInstructionAVX512 VMOVLPD VMOVLPS VMOVNTDQ VMOVNTDQA VMOVNTPD
 | 
						||
syn keyword nasmInstructionAVX512 VMOVNTPS VMOVQ VMOVSD VMOVSHDUP VMOVSLDUP
 | 
						||
syn keyword nasmInstructionAVX512 VMOVSS VMOVUPD VMOVUPS VMULPD VMULPS
 | 
						||
syn keyword nasmInstructionAVX512 VMULSD VMULSS VORPD VORPS VPABSB
 | 
						||
syn keyword nasmInstructionAVX512 VPABSD VPABSQ VPABSW VPACKSSDW VPACKSSWB
 | 
						||
syn keyword nasmInstructionAVX512 VPACKUSDW VPACKUSWB VPADDB VPADDD VPADDQ
 | 
						||
syn keyword nasmInstructionAVX512 VPADDSB VPADDSW VPADDUSB VPADDUSW VPADDW
 | 
						||
syn keyword nasmInstructionAVX512 VPALIGNR VPANDD VPANDND VPANDNQ VPANDQ
 | 
						||
syn keyword nasmInstructionAVX512 VPAVGB VPAVGW VPBLENDMB VPBLENDMD VPBLENDMQ
 | 
						||
syn keyword nasmInstructionAVX512 VPBLENDMW VPBROADCASTB VPBROADCASTD VPBROADCASTMB2Q VPBROADCASTMW2D
 | 
						||
syn keyword nasmInstructionAVX512 VPBROADCASTQ VPBROADCASTW VPCMPEQB VPCMPEQD VPCMPEQQ
 | 
						||
syn keyword nasmInstructionAVX512 VPCMPEQW VPCMPGTB VPCMPGTD VPCMPGTQ VPCMPGTW
 | 
						||
syn keyword nasmInstructionAVX512 VPCMPEQB VPCMPEQD VPCMPEQQ VPCMPEQUB VPCMPEQUD
 | 
						||
syn keyword nasmInstructionAVX512 VPCMPEQUQ VPCMPEQUW VPCMPEQW VPCMPGEB VPCMPGED
 | 
						||
syn keyword nasmInstructionAVX512 VPCMPGEQ VPCMPGEUB VPCMPGEUD VPCMPGEUQ VPCMPGEUW
 | 
						||
syn keyword nasmInstructionAVX512 VPCMPGEW VPCMPGTB VPCMPGTD VPCMPGTQ VPCMPGTUB
 | 
						||
syn keyword nasmInstructionAVX512 VPCMPGTUD VPCMPGTUQ VPCMPGTUW VPCMPGTW VPCMPLEB
 | 
						||
syn keyword nasmInstructionAVX512 VPCMPLED VPCMPLEQ VPCMPLEUB VPCMPLEUD VPCMPLEUQ
 | 
						||
syn keyword nasmInstructionAVX512 VPCMPLEUW VPCMPLEW VPCMPLTB VPCMPLTD VPCMPLTQ
 | 
						||
syn keyword nasmInstructionAVX512 VPCMPLTUB VPCMPLTUD VPCMPLTUQ VPCMPLTUW VPCMPLTW
 | 
						||
syn keyword nasmInstructionAVX512 VPCMPNEQB VPCMPNEQD VPCMPNEQQ VPCMPNEQUB VPCMPNEQUD
 | 
						||
syn keyword nasmInstructionAVX512 VPCMPNEQUQ VPCMPNEQUW VPCMPNEQW VPCMPNGTB VPCMPNGTD
 | 
						||
syn keyword nasmInstructionAVX512 VPCMPNGTQ VPCMPNGTUB VPCMPNGTUD VPCMPNGTUQ VPCMPNGTUW
 | 
						||
syn keyword nasmInstructionAVX512 VPCMPNGTW VPCMPNLEB VPCMPNLED VPCMPNLEQ VPCMPNLEUB
 | 
						||
syn keyword nasmInstructionAVX512 VPCMPNLEUD VPCMPNLEUQ VPCMPNLEUW VPCMPNLEW VPCMPNLTB
 | 
						||
syn keyword nasmInstructionAVX512 VPCMPNLTD VPCMPNLTQ VPCMPNLTUB VPCMPNLTUD VPCMPNLTUQ
 | 
						||
syn keyword nasmInstructionAVX512 VPCMPNLTUW VPCMPNLTW VPCMPB VPCMPD VPCMPQ
 | 
						||
syn keyword nasmInstructionAVX512 VPCMPUB VPCMPUD VPCMPUQ VPCMPUW VPCMPW
 | 
						||
syn keyword nasmInstructionAVX512 VPCOMPRESSD VPCOMPRESSQ VPCONFLICTD VPCONFLICTQ VPERMB
 | 
						||
syn keyword nasmInstructionAVX512 VPERMD VPERMI2B VPERMI2D VPERMI2PD VPERMI2PS
 | 
						||
syn keyword nasmInstructionAVX512 VPERMI2Q VPERMI2W VPERMILPD VPERMILPS VPERMPD
 | 
						||
syn keyword nasmInstructionAVX512 VPERMPS VPERMQ VPERMT2B VPERMT2D VPERMT2PD
 | 
						||
syn keyword nasmInstructionAVX512 VPERMT2PS VPERMT2Q VPERMT2W VPERMW VPEXPANDD
 | 
						||
syn keyword nasmInstructionAVX512 VPEXPANDQ VPEXTRB VPEXTRD VPEXTRQ VPEXTRW
 | 
						||
syn keyword nasmInstructionAVX512 VPGATHERDD VPGATHERDQ VPGATHERQD VPGATHERQQ VPINSRB
 | 
						||
syn keyword nasmInstructionAVX512 VPINSRD VPINSRQ VPINSRW VPLZCNTD VPLZCNTQ
 | 
						||
syn keyword nasmInstructionAVX512 VPMADD52HUQ VPMADD52LUQ VPMADDUBSW VPMADDWD VPMAXSB
 | 
						||
syn keyword nasmInstructionAVX512 VPMAXSD VPMAXSQ VPMAXSW VPMAXUB VPMAXUD
 | 
						||
syn keyword nasmInstructionAVX512 VPMAXUQ VPMAXUW VPMINSB VPMINSD VPMINSQ
 | 
						||
syn keyword nasmInstructionAVX512 VPMINSW VPMINUB VPMINUD VPMINUQ VPMINUW
 | 
						||
syn keyword nasmInstructionAVX512 VPMOVB2M VPMOVD2M VPMOVDB VPMOVDW VPMOVM2B
 | 
						||
syn keyword nasmInstructionAVX512 VPMOVM2D VPMOVM2Q VPMOVM2W VPMOVQ2M VPMOVQB
 | 
						||
syn keyword nasmInstructionAVX512 VPMOVQD VPMOVQW VPMOVSDB VPMOVSDW VPMOVSQB
 | 
						||
syn keyword nasmInstructionAVX512 VPMOVSQD VPMOVSQW VPMOVSWB VPMOVSXBD VPMOVSXBQ
 | 
						||
syn keyword nasmInstructionAVX512 VPMOVSXBW VPMOVSXDQ VPMOVSXWD VPMOVSXWQ VPMOVUSDB
 | 
						||
syn keyword nasmInstructionAVX512 VPMOVUSDW VPMOVUSQB VPMOVUSQD VPMOVUSQW VPMOVUSWB
 | 
						||
syn keyword nasmInstructionAVX512 VPMOVW2M VPMOVWB VPMOVZXBD VPMOVZXBQ VPMOVZXBW
 | 
						||
syn keyword nasmInstructionAVX512 VPMOVZXDQ VPMOVZXWD VPMOVZXWQ VPMULDQ VPMULHRSW
 | 
						||
syn keyword nasmInstructionAVX512 VPMULHUW VPMULHW VPMULLD VPMULLQ VPMULLW
 | 
						||
syn keyword nasmInstructionAVX512 VPMULTISHIFTQB VPMULUDQ VPORD VPORQ VPROLD
 | 
						||
syn keyword nasmInstructionAVX512 VPROLQ VPROLVD VPROLVQ VPRORD VPRORQ
 | 
						||
syn keyword nasmInstructionAVX512 VPRORVD VPRORVQ VPSADBW VPSCATTERDD VPSCATTERDQ
 | 
						||
syn keyword nasmInstructionAVX512 VPSCATTERQD VPSCATTERQQ VPSHUFB VPSHUFD VPSHUFHW
 | 
						||
syn keyword nasmInstructionAVX512 VPSHUFLW VPSLLD VPSLLDQ VPSLLQ VPSLLVD
 | 
						||
syn keyword nasmInstructionAVX512 VPSLLVQ VPSLLVW VPSLLW VPSRAD VPSRAQ
 | 
						||
syn keyword nasmInstructionAVX512 VPSRAVD VPSRAVQ VPSRAVW VPSRAW VPSRLD
 | 
						||
syn keyword nasmInstructionAVX512 VPSRLDQ VPSRLQ VPSRLVD VPSRLVQ VPSRLVW
 | 
						||
syn keyword nasmInstructionAVX512 VPSRLW VPSUBB VPSUBD VPSUBQ VPSUBSB
 | 
						||
syn keyword nasmInstructionAVX512 VPSUBSW VPSUBUSB VPSUBUSW VPSUBW VPTERNLOGD
 | 
						||
syn keyword nasmInstructionAVX512 VPTERNLOGQ VPTESTMB VPTESTMD VPTESTMQ VPTESTMW
 | 
						||
syn keyword nasmInstructionAVX512 VPTESTNMB VPTESTNMD VPTESTNMQ VPTESTNMW VPUNPCKHBW
 | 
						||
syn keyword nasmInstructionAVX512 VPUNPCKHDQ VPUNPCKHQDQ VPUNPCKHWD VPUNPCKLBW VPUNPCKLDQ
 | 
						||
syn keyword nasmInstructionAVX512 VPUNPCKLQDQ VPUNPCKLWD VPXORD VPXORQ VRANGEPD
 | 
						||
syn keyword nasmInstructionAVX512 VRANGEPS VRANGESD VRANGESS VRCP14PD VRCP14PS
 | 
						||
syn keyword nasmInstructionAVX512 VRCP14SD VRCP14SS VRCP28PD VRCP28PS VRCP28SD
 | 
						||
syn keyword nasmInstructionAVX512 VRCP28SS VREDUCEPD VREDUCEPS VREDUCESD VREDUCESS
 | 
						||
syn keyword nasmInstructionAVX512 VRNDSCALEPD VRNDSCALEPS VRNDSCALESD VRNDSCALESS VRSQRT14PD
 | 
						||
syn keyword nasmInstructionAVX512 VRSQRT14PS VRSQRT14SD VRSQRT14SS VRSQRT28PD VRSQRT28PS
 | 
						||
syn keyword nasmInstructionAVX512 VRSQRT28SD VRSQRT28SS VSCALEFPD VSCALEFPS VSCALEFSD
 | 
						||
syn keyword nasmInstructionAVX512 VSCALEFSS VSCATTERDPD VSCATTERDPS VSCATTERPF0DPD VSCATTERPF0DPS
 | 
						||
syn keyword nasmInstructionAVX512 VSCATTERPF0QPD VSCATTERPF0QPS VSCATTERPF1DPD VSCATTERPF1DPS VSCATTERPF1QPD
 | 
						||
syn keyword nasmInstructionAVX512 VSCATTERPF1QPS VSCATTERQPD VSCATTERQPS VSHUFF32X4 VSHUFF64X2
 | 
						||
syn keyword nasmInstructionAVX512 VSHUFI32X4 VSHUFI64X2 VSHUFPD VSHUFPS VSQRTPD
 | 
						||
syn keyword nasmInstructionAVX512 VSQRTPS VSQRTSD VSQRTSS VSUBPD VSUBPS
 | 
						||
syn keyword nasmInstructionAVX512 VSUBSD VSUBSS VUCOMISD VUCOMISS VUNPCKHPD
 | 
						||
syn keyword nasmInstructionAVX512 VUNPCKHPS VUNPCKLPD VUNPCKLPS VXORPD VXORPS
 | 
						||
" PROTECTION
 | 
						||
syn keyword nasmInstructionPROTECTION RDPKRU WRPKRU
 | 
						||
" RDPID
 | 
						||
syn keyword nasmInstructionRDPID RDPID 
 | 
						||
" NMEM
 | 
						||
syn keyword nasmInstructionNMEM CLFLUSHOPT CLWB PCOMMIT
 | 
						||
syn keyword nasmInstructionNMEM CLZERO
 | 
						||
" INTEL_EXTENSIONS
 | 
						||
syn keyword nasmInstructionINTEL_EXTENSIONS CLDEMOTE MOVDIRI MOVDIR64B PCONFIG TPAUSE
 | 
						||
syn keyword nasmInstructionINTEL_EXTENSIONS UMONITOR UMWAIT WBNOINVD
 | 
						||
" GALOISFIELD
 | 
						||
syn keyword nasmInstructionGALOISFIELD GF2P8AFFINEINVQB VGF2P8AFFINEINVQB GF2P8AFFINEQB VGF2P8AFFINEQB GF2P8MULB
 | 
						||
syn keyword nasmInstructionGALOISFIELD VGF2P8MULB
 | 
						||
" AVX512_BMI
 | 
						||
syn keyword nasmInstructionAVX512_BMI VPCOMPRESSB VPCOMPRESSW VPEXPANDB VPEXPANDW VPSHLDW
 | 
						||
syn keyword nasmInstructionAVX512_BMI VPSHLDD VPSHLDQ VPSHLDVW VPSHLDVD VPSHLDVQ
 | 
						||
syn keyword nasmInstructionAVX512_BMI VPSHRDW VPSHRDD VPSHRDQ VPSHRDVW VPSHRDVD
 | 
						||
syn keyword nasmInstructionAVX512_BMI VPSHRDVQ
 | 
						||
" AVX512_VNNI
 | 
						||
syn keyword nasmInstructionAVX512_VNNI VPDPBUSD VPDPBUSDS VPDPWSSD VPDPWSSDS
 | 
						||
" AVX512_BITALG
 | 
						||
syn keyword nasmInstructionAVX512_BITALG VPOPCNTB VPOPCNTW VPOPCNTD VPOPCNTQ VPSHUFBITQMB
 | 
						||
" AVX512_FMA
 | 
						||
syn keyword nasmInstructionAVX512_FMA V4FMADDPS V4FNMADDPS V4FMADDSS V4FNMADDSS
 | 
						||
" AVX512_DP
 | 
						||
syn keyword nasmInstructionAVX512_DP V4DPWSSDS V4DPWSSD
 | 
						||
" SGX
 | 
						||
syn keyword nasmInstructionSGX ENCLS ENCLU ENCLV
 | 
						||
" CET
 | 
						||
syn keyword nasmInstructionCET CLRSSBSY ENDBR32 ENDBR64 INCSSPD INCSSPQ
 | 
						||
syn keyword nasmInstructionCET RDSSPD RDSSPQ RSTORSSP SAVEPREVSSP SETSSBSY
 | 
						||
syn keyword nasmInstructionCET WRUSSD WRUSSQ WRSSD WRSSQ
 | 
						||
" INTEL_EXTENSION
 | 
						||
syn keyword nasmInstructionINTEL_EXTENSION ENQCMD ENQCMDS PCONFIG SERIALIZE WBNOINVD
 | 
						||
syn keyword nasmInstructionINTEL_EXTENSION XRESLDTRK XSUSLDTRK
 | 
						||
" AVX512_BF16
 | 
						||
syn keyword nasmInstructionAVX512_BF16 VCVTNE2PS2BF16 VCVTNEPS2BF16 VDPBF16PS
 | 
						||
" AVX512_MASK_INTERSECT
 | 
						||
syn keyword nasmInstructionAVX512_MASK_INTERSECT VP2INTERSECTD 
 | 
						||
" AMX
 | 
						||
syn keyword nasmInstructionAMX LDTILECFG STTILECFG TDPBF16PS TDPBSSD TDPBSUD
 | 
						||
syn keyword nasmInstructionAMX TDPBUSD TDPBUUD TILELOADD TILELOADDT1 TILERELEASE
 | 
						||
syn keyword nasmInstructionAMX TILESTORED TILEZERO
 | 
						||
" AVX512_FP16
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VADDPH VADDSH VCMPPH VCMPSH VCOMISH
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VCVTDQ2PH VCVTPD2PH VCVTPH2DQ VCVTPH2PD VCVTPH2PS
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VCVTPH2PSX VCVTPH2QQ VCVTPH2UDQ VCVTPH2UQQ VCVTPH2UW
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VCVTPH2W VCVTPS2PH VCVTQQ2PH VCVTSD2SH VCVTSH2SD
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VCVTSH2SI VCVTSH2SS VCVTSH2USI VCVTSI2SH VCVTSS2SH
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VCVTTPH2DQ VCVTTPH2QQ VCVTTPH2UDQ VCVTTPH2UQQ VCVTTPH2UW
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VCVTTPH2W VCVTTSH2SI VCVTTSH2USI VCVTUDQ2PH VCVTUQQ2PH
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VCVTUSI2SH VCVTUSI2SS VCVTUW2PH VCVTW2PH VDIVPH
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VDIVSH VFCMADDCPH VFMADDCPH VFCMADDCSH VFMADDCSH
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VFCMULCPCH VFMULCPCH VFCMULCSH VFMULCSH VFMADDSUB132PH
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VFMADDSUB213PH VFMADDSUB231PH VFMSUBADD132PH VFMSUBADD213PH VFMSUBADD231PH
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VPMADD132PH VPMADD213PH VPMADD231PH VFMADD132PH VFMADD213PH
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VFMADD231PH VPMADD132SH VPMADD213SH VPMADD231SH VPNMADD132SH
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VPNMADD213SH VPNMADD231SH VPMSUB132PH VPMSUB213PH VPMSUB231PH
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VFMSUB132PH VFMSUB213PH VFMSUB231PH VPMSUB132SH VPMSUB213SH
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VPMSUB231SH VPNMSUB132SH VPNMSUB213SH VPNMSUB231SH VFPCLASSPH
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VFPCLASSSH VGETEXPPH VGETEXPSH VGETMANTPH VGETMANTSH
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VGETMAXPH VGETMAXSH VGETMINPH VGETMINSH VMOVSH
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VMOVW VMULPH VMULSH VRCPPH VRCPSH
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VREDUCEPH VREDUCESH VENDSCALEPH VENDSCALESH VRSQRTPH
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VRSQRTSH VSCALEFPH VSCALEFSH VSQRTPH VSQRTSH
 | 
						||
syn keyword nasmInstructionAVX512_FP16 VSUBPH VSUBSH VUCOMISH
 | 
						||
" RAO-INT
 | 
						||
syn keyword nasmInstructionRAO_INT AADD AAND AXOR
 | 
						||
" USERINT
 | 
						||
syn keyword nasmInstructionUSERINT CLUI SENDUIPI STUI TESTUI UIRET
 | 
						||
" CMPCCXADD
 | 
						||
syn keyword nasmInstructionCMPCCXADD CMPOXADD CMPNOXADD CMPBXADD CMPNBXADD CMPZXADD
 | 
						||
syn keyword nasmInstructionCMPCCXADD CMPNZXADD CMPBEXADD CMPNBEXADD CMPSXADD CMPNSXADD
 | 
						||
syn keyword nasmInstructionCMPCCXADD CMPPXADD CMPNPXADD CMPLXADD CMPNLXADD CMPLEXADD
 | 
						||
syn keyword nasmInstructionCMPCCXADD CMPNLEXADD
 | 
						||
" FRET
 | 
						||
syn keyword nasmInstructionFRET ERETS ERETU LKGS
 | 
						||
" WRMSRNS_MSRLIST
 | 
						||
syn keyword nasmInstructionWRMSRNS_MSRLIST WRMSRNS RDMSRLIST WRMSRLIST
 | 
						||
" HRESET
 | 
						||
syn keyword nasmInstructionHRESET HRESET 
 | 
						||
" PTWRITE
 | 
						||
syn keyword nasmInstructionPTWRITE PTWRITE 
 | 
						||
" HINTNOP
 | 
						||
syn keyword nasmInstructionHINTNOP HINT_NOP0 HINT_NOP1 HINT_NOP2 HINT_NOP3 HINT_NOP4
 | 
						||
syn keyword nasmInstructionHINTNOP HINT_NOP5 HINT_NOP6 HINT_NOP7 HINT_NOP8 HINT_NOP9
 | 
						||
syn keyword nasmInstructionHINTNOP HINT_NOP10 HINT_NOP11 HINT_NOP12 HINT_NOP13 HINT_NOP14
 | 
						||
syn keyword nasmInstructionHINTNOP HINT_NOP15 HINT_NOP16 HINT_NOP17 HINT_NOP18 HINT_NOP19
 | 
						||
syn keyword nasmInstructionHINTNOP HINT_NOP20 HINT_NOP21 HINT_NOP22 HINT_NOP23 HINT_NOP24
 | 
						||
syn keyword nasmInstructionHINTNOP HINT_NOP25 HINT_NOP26 HINT_NOP27 HINT_NOP28 HINT_NOP29
 | 
						||
syn keyword nasmInstructionHINTNOP HINT_NOP30 HINT_NOP31 HINT_NOP32 HINT_NOP33 HINT_NOP34
 | 
						||
syn keyword nasmInstructionHINTNOP HINT_NOP35 HINT_NOP36 HINT_NOP37 HINT_NOP38 HINT_NOP39
 | 
						||
syn keyword nasmInstructionHINTNOP HINT_NOP40 HINT_NOP41 HINT_NOP42 HINT_NOP43 HINT_NOP44
 | 
						||
syn keyword nasmInstructionHINTNOP HINT_NOP45 HINT_NOP46 HINT_NOP47 HINT_NOP48 HINT_NOP49
 | 
						||
syn keyword nasmInstructionHINTNOP HINT_NOP50 HINT_NOP51 HINT_NOP52 HINT_NOP53 HINT_NOP54
 | 
						||
syn keyword nasmInstructionHINTNOP HINT_NOP55 HINT_NOP56 HINT_NOP57 HINT_NOP58 HINT_NOP59
 | 
						||
syn keyword nasmInstructionHINTNOP HINT_NOP60 HINT_NOP61 HINT_NOP62 HINT_NOP63
 | 
						||
"  Cyrix instructions (requires Cyrix processor)
 | 
						||
syn keyword nasmCrxInstruction	PADDSIW PAVEB PDISTIB PMAGW PMULHRWC PMULHRIW
 | 
						||
syn keyword nasmCrxInstruction	PMVGEZB PMVLZB PMVNZB PMVZB PSUBSIW
 | 
						||
syn keyword nasmCrxInstruction	RDSHR RSDC RSLDT SMINT SMINTOLD SVDC SVLDT SVTS
 | 
						||
syn keyword nasmCrxInstruction	WRSHR BB0_RESET BB1_RESET
 | 
						||
syn keyword nasmCrxInstruction	CPU_WRITE CPU_READ DMINT RDM PMACHRIW
 | 
						||
 | 
						||
" Debugging Instructions: (privileged)
 | 
						||
syn keyword nasmDbgInstruction	INT1 INT3 RDMSR RDTSC RDPMC WRMSR INT01 INT03
 | 
						||
 | 
						||
 | 
						||
" Synchronize Syntax:
 | 
						||
syn sync clear
 | 
						||
syn sync minlines=50		"for multiple region nesting
 | 
						||
syn sync match  nasmSync	grouphere nasmMacroDef "^\s*%i\=macro\>"me=s-1
 | 
						||
syn sync match	nasmSync	grouphere NONE	       "^\s*%endmacro\>"
 | 
						||
 | 
						||
 | 
						||
" Define the default highlighting.
 | 
						||
" Only when an item doesn't have highlighting yet
 | 
						||
 | 
						||
" Sub Links:
 | 
						||
hi def link nasmInMacDirective	nasmDirective
 | 
						||
hi def link nasmInMacLabel		nasmLocalLabel
 | 
						||
hi def link nasmInMacLblWarn	nasmLabelWarn
 | 
						||
hi def link nasmInMacMacro		nasmMacro
 | 
						||
hi def link nasmInMacParam		nasmMacro
 | 
						||
hi def link nasmInMacParamNum	nasmDecNumber
 | 
						||
hi def link nasmInMacPreCondit	nasmPreCondit
 | 
						||
hi def link nasmInMacPreProc	nasmPreProc
 | 
						||
hi def link nasmInPreCondit	nasmPreCondit
 | 
						||
hi def link nasmInStructure	nasmStructure
 | 
						||
hi def link nasmStructureLabel	nasmStructure
 | 
						||
 | 
						||
" Comment Group:
 | 
						||
hi def link nasmComment		Comment
 | 
						||
hi def link nasmSpecialComment	SpecialComment
 | 
						||
hi def link nasmInCommentTodo	Todo
 | 
						||
 | 
						||
" Constant Group:
 | 
						||
hi def link nasmString		String
 | 
						||
hi def link nasmCString	String
 | 
						||
hi def link nasmStringError	Error
 | 
						||
hi def link nasmCStringEscape	SpecialChar
 | 
						||
hi def link nasmCStringFormat	SpecialChar
 | 
						||
hi def link nasmBinNumber		Number
 | 
						||
hi def link nasmOctNumber		Number
 | 
						||
hi def link nasmDecNumber		Number
 | 
						||
hi def link nasmHexNumber		Number
 | 
						||
hi def link nasmBinFloat		Float
 | 
						||
hi def link nasmOctFloat		Float
 | 
						||
hi def link nasmDecFloat		Float
 | 
						||
hi def link nasmHexFloat		Float
 | 
						||
hi def link nasmSpecFloat		Float
 | 
						||
hi def link nasmBcdConst		Float
 | 
						||
hi def link nasmNumberError	Error
 | 
						||
 | 
						||
" Identifier Group:
 | 
						||
hi def link nasmLabel		Identifier
 | 
						||
hi def link nasmLocalLabel		Identifier
 | 
						||
hi def link nasmSpecialLabel	Special
 | 
						||
hi def link nasmLabelError		Error
 | 
						||
hi def link nasmLabelWarn		Todo
 | 
						||
 | 
						||
" PreProc Group:
 | 
						||
hi def link nasmPreProc		PreProc
 | 
						||
hi def link nasmDefine		Define
 | 
						||
hi def link nasmInclude		Include
 | 
						||
hi def link nasmMacro		Macro
 | 
						||
hi def link nasmPreCondit		PreCondit
 | 
						||
hi def link nasmPreProcError	Error
 | 
						||
hi def link nasmPreProcWarn	Todo
 | 
						||
 | 
						||
" Type Group:
 | 
						||
hi def link nasmType		Type
 | 
						||
hi def link nasmStorage		StorageClass
 | 
						||
hi def link nasmStructure		Structure
 | 
						||
hi def link nasmTypeError		Error
 | 
						||
 | 
						||
" Directive Group:
 | 
						||
hi def link nasmConstant		Constant
 | 
						||
hi def link nasmInstrModifier	Operator
 | 
						||
hi def link nasmRepeat		Repeat
 | 
						||
hi def link nasmDirective		Keyword
 | 
						||
hi def link nasmStdDirective	Operator
 | 
						||
hi def link nasmFmtDirective	Keyword
 | 
						||
 | 
						||
" Register Group:
 | 
						||
hi def link nasmRegisterError	Error
 | 
						||
hi def link nasmCtrlRegister	Special
 | 
						||
hi def link nasmDebugRegister	Debug
 | 
						||
hi def link nasmTestRegister	Special
 | 
						||
hi def link nasmRegisterError	Error
 | 
						||
hi def link nasmMemRefError	Error
 | 
						||
 | 
						||
" Instruction Group:
 | 
						||
hi def link nasmInstructnError	Error
 | 
						||
hi def link nasmCrxInstruction	Special
 | 
						||
hi def link nasmDbgInstruction	Debug
 | 
						||
hi def link nasmInstructionStandard Statement
 | 
						||
hi def link nasmInstructionSIMD Statement
 | 
						||
hi def link nasmInstructionSSE Statement
 | 
						||
hi def link nasmInstructionXSAVE Statement
 | 
						||
hi def link nasmInstructionMEM Statement
 | 
						||
hi def link nasmInstructionMMX Statement
 | 
						||
hi def link nasmInstruction3DNOW Statement
 | 
						||
hi def link nasmInstructionSSE2 Statement
 | 
						||
hi def link nasmInstructionWMMX Statement
 | 
						||
hi def link nasmInstructionWSSD Statement
 | 
						||
hi def link nasmInstructionPRESSCOT Statement
 | 
						||
hi def link nasmInstructionVMXSVM Statement
 | 
						||
hi def link nasmInstructionPTVMX Statement
 | 
						||
hi def link nasmInstructionSEVSNPAMD Statement
 | 
						||
hi def link nasmInstructionTEJAS Statement
 | 
						||
hi def link nasmInstructionAMD_SSE4A Statement
 | 
						||
hi def link nasmInstructionBARCELONA Statement
 | 
						||
hi def link nasmInstructionPENRY Statement
 | 
						||
hi def link nasmInstructionNEHALEM Statement
 | 
						||
hi def link nasmInstructionSMX Statement
 | 
						||
hi def link nasmInstructionGEODE_3DNOW Statement
 | 
						||
hi def link nasmInstructionINTEL_NEW Statement
 | 
						||
hi def link nasmInstructionAES Statement
 | 
						||
hi def link nasmInstructionAVX_AES Statement
 | 
						||
hi def link nasmInstructionINTEL_PUB Statement
 | 
						||
hi def link nasmInstructionAVX Statement
 | 
						||
hi def link nasmInstructionINTEL_CMUL Statement
 | 
						||
hi def link nasmInstructionINTEL_AVX_CMUL Statement
 | 
						||
hi def link nasmInstructionINTEL_FMA Statement
 | 
						||
hi def link nasmInstructionINTEL_POST32 Statement
 | 
						||
hi def link nasmInstructionSUPERVISOR Statement
 | 
						||
hi def link nasmInstructionVIA_SECURITY Statement
 | 
						||
hi def link nasmInstructionAMD_PROFILING Statement
 | 
						||
hi def link nasmInstructionXOP_FMA4 Statement
 | 
						||
hi def link nasmInstructionAVX2 Statement
 | 
						||
hi def link nasmInstructionTRANSACTIONS Statement
 | 
						||
hi def link nasmInstructionBMI_ABM Statement
 | 
						||
hi def link nasmInstructionMPE Statement
 | 
						||
hi def link nasmInstructionSHA Statement
 | 
						||
hi def link nasmInstructionSM3 Statement
 | 
						||
hi def link nasmInstructionSM4 Statement
 | 
						||
hi def link nasmInstructionAVX_NOEXCEPT Statement
 | 
						||
hi def link nasmInstructionAVX_VECTOR_NN Statement
 | 
						||
hi def link nasmInstructionAVX_IFMA Statement
 | 
						||
hi def link nasmInstructionAVX512_MASK Statement
 | 
						||
hi def link nasmInstructionAVX512_MASK_REG Statement
 | 
						||
hi def link nasmInstructionAVX512 Statement
 | 
						||
hi def link nasmInstructionPROTECTION Statement
 | 
						||
hi def link nasmInstructionRDPID Statement
 | 
						||
hi def link nasmInstructionNMEM Statement
 | 
						||
hi def link nasmInstructionINTEL_EXTENSIONS Statement
 | 
						||
hi def link nasmInstructionGALOISFIELD Statement
 | 
						||
hi def link nasmInstructionAVX512_BMI Statement
 | 
						||
hi def link nasmInstructionAVX512_VNNI Statement
 | 
						||
hi def link nasmInstructionAVX512_BITALG Statement
 | 
						||
hi def link nasmInstructionAVX512_FMA Statement
 | 
						||
hi def link nasmInstructionAVX512_DP Statement
 | 
						||
hi def link nasmInstructionSGX Statement
 | 
						||
hi def link nasmInstructionCET Statement
 | 
						||
hi def link nasmInstructionINTEL_EXTENSION Statement
 | 
						||
hi def link nasmInstructionAVX512_BF16 Statement
 | 
						||
hi def link nasmInstructionAVX512_MASK_INTERSECT Statement
 | 
						||
hi def link nasmInstructionAMX Statement
 | 
						||
hi def link nasmInstructionAVX512_FP16 Statement
 | 
						||
hi def link nasmInstructionRAO_INT Statement
 | 
						||
hi def link nasmInstructionUSERINT Statement
 | 
						||
hi def link nasmInstructionCMPCCXADD Statement
 | 
						||
hi def link nasmInstructionFRET Statement
 | 
						||
hi def link nasmInstructionWRMSRNS_MSRLIST Statement
 | 
						||
hi def link nasmInstructionHRESET Statement
 | 
						||
hi def link nasmInstructionHINTNOP Statement
 | 
						||
hi def link nasmInstructionPTWRITE Statement
 | 
						||
 | 
						||
let b:current_syntax = "nasm"
 | 
						||
 | 
						||
" vim:ts=8 sw=4
 |