annotate runtime/syntax/ia64.vim @ 18486:9d887cad7315

Added tag v8.1.2237 for changeset 63ee3c2b140fe1b4801389872a8e47aec19d028b
author Bram Moolenaar <Bram@vim.org>
date Thu, 31 Oct 2019 20:00:04 +0100
parents 46763b01cd9a
children 17c4178f26ea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " Vim syntax file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 " Language: IA-64 (Itanium) assembly language
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 " Maintainer: Parth Malwankar <pmalwankar@yahoo.com>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 " URL: http://www.geocities.com/pmalwankar (Home Page with link to my Vim page)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 " http://www.geocities.com/pmalwankar/vim.htm (for VIM)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 " File Version: 0.7
1121
e63691e7c504 updated for version 7.1a
vimboss
parents: 7
diff changeset
7 " Last Change: 2006 Sep 08
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
9 " quit when a syntax file was already loaded
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
10 if exists("b:current_syntax")
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 "ignore case for assembly
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 syn case ignore
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 " Identifier Keyword characters (defines \k)
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
19 setlocal iskeyword=@,48-57,#,$,.,:,?,@-@,_,~
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 syn sync minlines=5
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 " Read the MASM syntax to start with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 " This is needed as both IA-64 as well as IA-32 instructions are supported
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 source <sfile>:p:h/masm.vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 syn region ia64Comment start="//" end="$" contains=ia64Todo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 syn region ia64Comment start="/\*" end="\*/" contains=ia64Todo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 syn match ia64Identifier "[a-zA-Z_$][a-zA-Z0-9_$]*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 syn match ia64Directive "\.[a-zA-Z_$][a-zA-Z_$.]\+"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 syn match ia64Label "[a-zA-Z_$.][a-zA-Z0-9_$.]*\s\=:\>"he=e-1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 syn match ia64Label "[a-zA-Z_$.][a-zA-Z0-9_$.]*\s\=::\>"he=e-2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 syn match ia64Label "[a-zA-Z_$.][a-zA-Z0-9_$.]*\s\=#\>"he=e-1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 syn region ia64string start=+L\="+ skip=+\\\\\|\\"+ end=+"+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 syn match ia64Octal "0[0-7_]*\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 syn match ia64Binary "0[bB][01_]*\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 syn match ia64Hex "0[xX][0-9a-fA-F_]*\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39 syn match ia64Decimal "[1-9_][0-9_]*\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 syn match ia64Float "[0-9_]*\.[0-9_]*\([eE][+-]\=[0-9_]*\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 "simple instructions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 syn keyword ia64opcode add adds addl addp4 alloc and andcm cover epc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 syn keyword ia64opcode fabs fand fandcm fc flushrs fneg fnegabs for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 syn keyword ia64opcode fpabs fpack fpneg fpnegabs fselect fand fabdcm
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 syn keyword ia64opcode fc fwb fxor loadrs movl mux1 mux2 or padd4
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 syn keyword ia64opcode pavgsub1 pavgsub2 popcnt psad1 pshl2 pshl4 pshladd2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 syn keyword ia64opcode pshradd2 psub4 rfi rsm rum shl shladd shladdp4
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 syn keyword ia64opcode shrp ssm sub sum sync.i tak thash
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 syn keyword ia64opcode tpa ttag xor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 "put to override these being recognized as floats. They are orignally from masm.vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53 "put here to avoid confusion with float
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 syn match ia64Directive "\.186"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 syn match ia64Directive "\.286"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 syn match ia64Directive "\.286c"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 syn match ia64Directive "\.286p"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 syn match ia64Directive "\.287"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 syn match ia64Directive "\.386"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 syn match ia64Directive "\.386c"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 syn match ia64Directive "\.386p"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 syn match ia64Directive "\.387"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 syn match ia64Directive "\.486"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 syn match ia64Directive "\.486c"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 syn match ia64Directive "\.486p"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 syn match ia64Directive "\.8086"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67 syn match ia64Directive "\.8087"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71 "delimiters
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72 syn match ia64delimiter ";;"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 "operators
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 syn match ia64operators "[\[\]()#,]"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 syn match ia64operators "\(+\|-\|=\)"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 "TODO
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 syn match ia64Todo "\(TODO\|XXX\|FIXME\|NOTE\)"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81 "What follows is a long list of regular expressions for parsing the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82 "ia64 instructions that use many completers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 "br
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85 syn match ia64opcode "br\(\(\.\(cond\|call\|ret\|ia\|cloop\|ctop\|cexit\|wtop\|wexit\)\)\=\(\.\(spnt\|dpnt\|sptk\|dptk\)\)\=\(\.few\|\.many\)\=\(\.clr\)\=\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86 "break
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 syn match ia64opcode "break\(\.[ibmfx]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 "brp
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89 syn match ia64opcode "brp\(\.\(sptk\|dptk\|loop\|exit\)\)\(\.imp\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 syn match ia64opcode "brp\.ret\(\.\(sptk\|dptk\)\)\{1}\(\.imp\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 "bsw
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92 syn match ia64opcode "bsw\.[01]\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 "chk
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94 syn match ia64opcode "chk\.\(s\(\.[im]\)\=\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 syn match ia64opcode "chk\.a\.\(clr\|nc\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96 "clrrrb
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 syn match ia64opcode "clrrrb\(\.pr\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 "cmp/cmp4
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99 syn match ia64opcode "cmp4\=\.\(eq\|ne\|l[te]\|g[te]\|[lg]tu\|[lg]eu\)\(\.unc\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 syn match ia64opcode "cmp4\=\.\(eq\|[lgn]e\|[lg]t\)\.\(\(or\(\.andcm\|cm\)\=\)\|\(and\(\(\.or\)\=cm\)\=\)\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101 "cmpxchg
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 syn match ia64opcode "cmpxchg[1248]\.\(acq\|rel\)\(\.nt1\|\.nta\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103 "czx
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104 syn match ia64opcode "czx[12]\.[lr]\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105 "dep
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 syn match ia64opcode "dep\(\.z\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107 "extr
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 syn match ia64opcode "extr\(\.u\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 "fadd
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110 syn match ia64opcode "fadd\(\.[sd]\)\=\(\.s[0-3]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 "famax/famin
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112 syn match ia64opcode "fa\(max\|min\)\(\.s[0-3]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113 "fchkf/fmax/fmin
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114 syn match ia64opcode "f\(chkf\|max\|min\)\(\.s[0-3]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115 "fclass
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 syn match ia64opcode "fclass\(\.n\=m\)\(\.unc\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117 "fclrf/fpamax
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118 syn match ia64opcode "f\(clrf\|pamax\|pamin\)\(\.s[0-3]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119 "fcmp
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120 syn match ia64opcode "fcmp\.\(n\=[lg][te]\|n\=eq\|\(un\)\=ord\)\(\.unc\)\=\(\.s[0-3]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121 "fcvt/fcvt.xf/fcvt.xuf.pc.sf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122 syn match ia64opcode "fcvt\.\(\(fxu\=\(\.trunc\)\=\(\.s[0-3]\)\=\)\|\(xf\|xuf\(\.[sd]\)\=\(\.s[0-3]\)\=\)\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 "fetchadd
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124 syn match ia64opcode "fetchadd[48]\.\(acq\|rel\)\(\.nt1\|\.nta\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125 "fma/fmpy/fms
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126 syn match ia64opcode "fm\([as]\|py\)\(\.[sd]\)\=\(\.s[0-3]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127 "fmerge/fpmerge
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
128 syn match ia64opcode "fp\=merge\.\(ns\|se\=\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129 "fmix
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130 syn match ia64opcode "fmix\.\(lr\|[lr]\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
131 "fnma/fnorm/fnmpy
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132 syn match ia64opcode "fn\(ma\|mpy\|orm\)\(\.[sd]\)\=\(\.s[0-3]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133 "fpcmp
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
134 syn match ia64opcode "fpcmp\.\(n\=[lg][te]\|n\=eq\|\(un\)\=ord\)\(\.s[0-3]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135 "fpcvt
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136 syn match ia64opcode "fpcvt\.fxu\=\(\(\.trunc\)\=\(\.s[0-3]\)\=\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137 "fpma/fpmax/fpmin/fpmpy/fpms/fpnma/fpnmpy/fprcpa/fpsqrta
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138 syn match ia64opcode "fp\(max\=\|min\|n\=mpy\|ms\|nma\|rcpa\|sqrta\)\(\.s[0-3]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139 "frcpa/frsqrta
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140 syn match ia64opcode "fr\(cpa\|sqrta\)\(\.s[0-3]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141 "fsetc/famin/fchkf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 syn match ia64opcode "f\(setc\|amin\|chkf\)\(\.s[0-3]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143 "fsub
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 syn match ia64opcode "fsub\(\.[sd]\)\=\(\.s[0-3]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145 "fswap
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146 syn match ia64opcode "fswap\(\.n[lr]\=\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147 "fsxt
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148 syn match ia64opcode "fsxt\.[lr]\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149 "getf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150 syn match ia64opcode "getf\.\([sd]\|exp\|sig\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151 "invala
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152 syn match ia64opcode "invala\(\.[ae]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153 "itc/itr
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154 syn match ia64opcode "it[cr]\.[id]\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 "ld
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
156 syn match ia64opcode "ld[1248]\>\|ld[1248]\(\.\(sa\=\|a\|c\.\(nc\|clr\(\.acq\)\=\)\|acq\|bias\)\)\=\(\.nt[1a]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
157 syn match ia64opcode "ld8\.fill\(\.nt[1a]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158 "ldf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
159 syn match ia64opcode "ldf[sde8]\(\(\.\(sa\=\|a\|c\.\(nc\|clr\)\)\)\=\(\.nt[1a]\)\=\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
160 syn match ia64opcode "ldf\.fill\(\.nt[1a]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
161 "ldfp
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
162 syn match ia64opcode "ldfp[sd8]\(\(\.\(sa\=\|a\|c\.\(nc\|clr\)\)\)\=\(\.nt[1a]\)\=\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
163 "lfetch
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
164 syn match ia64opcode "lfetch\(\.fault\(\.excl\)\=\|\.excl\)\=\(\.nt[12a]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
165 "mf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
166 syn match ia64opcode "mf\(\.a\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
167 "mix
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
168 syn match ia64opcode "mix[124]\.[lr]\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
169 "mov
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
170 syn match ia64opcode "mov\(\.[im]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
171 syn match ia64opcode "mov\(\.ret\)\=\(\(\.sptk\|\.dptk\)\=\(\.imp\)\=\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
172 "nop
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
173 syn match ia64opcode "nop\(\.[ibmfx]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
174 "pack
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
175 syn match ia64opcode "pack\(2\.[su]ss\|4\.sss\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
176 "padd //padd4 added to keywords
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177 syn match ia64opcode "padd[12]\(\.\(sss\|uus\|uuu\)\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
178 "pavg
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
179 syn match ia64opcode "pavg[12]\(\.raz\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
180 "pcmp
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
181 syn match ia64opcode "pcmp[124]\.\(eq\|gt\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
182 "pmax/pmin
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
183 syn match ia64opcode "pm\(ax\|in\)\(\(1\.u\)\|2\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
184 "pmpy
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
185 syn match ia64opcode "pmpy2\.[rl]\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
186 "pmpyshr
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
187 syn match ia64opcode "pmpyshr2\(\.u\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
188 "probe
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
189 syn match ia64opcode "probe\.[rw]\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
190 syn match ia64opcode "probe\.\(\(r\|w\|rw\)\.fault\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
191 "pshr
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
192 syn match ia64opcode "pshr[24]\(\.u\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
193 "psub
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
194 syn match ia64opcode "psub[12]\(\.\(sss\|uu[su]\)\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
195 "ptc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
196 syn match ia64opcode "ptc\.\(l\|e\|ga\=\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
197 "ptr
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
198 syn match ia64opcode "ptr\.\(d\|i\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
199 "setf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
200 syn match ia64opcode "setf\.\(s\|d\|exp\|sig\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
201 "shr
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
202 syn match ia64opcode "shr\(\.u\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
203 "srlz
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
204 syn match ia64opcode "srlz\(\.[id]\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
205 "st
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
206 syn match ia64opcode "st[1248]\(\.rel\)\=\(\.nta\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
207 syn match ia64opcode "st8\.spill\(\.nta\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
208 "stf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
209 syn match ia64opcode "stf[1248]\(\.nta\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
210 syn match ia64opcode "stf\.spill\(\.nta\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
211 "sxt
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
212 syn match ia64opcode "sxt[124]\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
213 "tbit/tnat
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
214 syn match ia64opcode "t\(bit\|nat\)\(\.nz\|\.z\)\=\(\.\(unc\|or\(\.andcm\|cm\)\=\|and\(\.orcm\|cm\)\=\)\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
215 "unpack
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
216 syn match ia64opcode "unpack[124]\.[lh]\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
217 "xchq
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
218 syn match ia64opcode "xchg[1248]\(\.nt[1a]\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
219 "xma/xmpy
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
220 syn match ia64opcode "xm\(a\|py\)\.[lh]u\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
221 "zxt
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
222 syn match ia64opcode "zxt[124]\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
223
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
224
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
225 "The regex for different ia64 registers are given below
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
226
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
227 "limits the rXXX and fXXX and cr suffix in the range 0-127
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
228 syn match ia64registers "\([fr]\|cr\)\([0-9]\|[1-9][0-9]\|1[0-1][0-9]\|12[0-7]\)\{1}\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
229 "branch ia64registers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
230 syn match ia64registers "b[0-7]\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
231 "predicate ia64registers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
232 syn match ia64registers "p\([0-9]\|[1-5][0-9]\|6[0-3]\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
233 "application ia64registers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
234 syn match ia64registers "ar\.\(fpsr\|mat\|unat\|rnat\|pfs\|bsp\|bspstore\|rsc\|lc\|ec\|ccv\|itc\|k[0-7]\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
235 "ia32 AR's
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
236 syn match ia64registers "ar\.\(eflag\|fcr\|csd\|ssd\|cflg\|fsr\|fir\|fdr\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
237 "sp/gp/pr/pr.rot/rp
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
238 syn keyword ia64registers sp gp pr pr.rot rp ip tp
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
239 "in/out/local
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
240 syn match ia64registers "\(in\|out\|loc\)\([0-9]\|[1-8][0-9]\|9[0-5]\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
241 "argument ia64registers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
242 syn match ia64registers "farg[0-7]\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
243 "return value ia64registers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
244 syn match ia64registers "fret[0-7]\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
245 "psr
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
246 syn match ia64registers "psr\(\.\(l\|um\)\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
247 "cr
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
248 syn match ia64registers "cr\.\(dcr\|itm\|iva\|pta\|ipsr\|isr\|ifa\|iip\|itir\|iipa\|ifs\|iim\|iha\|lid\|ivr\|tpr\|eoi\|irr[0-3]\|itv\|pmv\|lrr[01]\|cmcv\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
249 "Indirect registers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
250 syn match ia64registers "\(cpuid\|dbr\|ibr\|pkr\|pmc\|pmd\|rr\|itr\|dtr\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
251 "MUX permutations for 8-bit elements
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
252 syn match ia64registers "\(@rev\|@mix\|@shuf\|@alt\|@brcst\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
253 "floating point classes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
254 syn match ia64registers "\(@nat\|@qnan\|@snan\|@pos\|@neg\|@zero\|@unorm\|@norm\|@inf\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
255 "link relocation operators
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
256 syn match ia64registers "\(@\(\(\(gp\|sec\|seg\|image\)rel\)\|ltoff\|fptr\|ptloff\|ltv\|section\)\)\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
257
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
258 "Data allocation syntax
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
259 syn match ia64data "data[1248]\(\(\(\.ua\)\=\(\.msb\|\.lsb\)\=\)\|\(\(\.msb\|\.lsb\)\=\(\.ua\)\=\)\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
260 syn match ia64data "real\([48]\|1[06]\)\(\(\(\.ua\)\=\(\.msb\|\.lsb\)\=\)\|\(\(\.msb\|\.lsb\)\=\(\.ua\)\=\)\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
261 syn match ia64data "stringz\=\(\(\(\.ua\)\=\(\.msb\|\.lsb\)\=\)\|\(\(\.msb\|\.lsb\)\=\(\.ua\)\=\)\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
262
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
263 " Define the default highlighting.
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
264 " Only when an item doesn't have highlighting yet
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
265
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
266 "put masm groups with our groups
10051
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
267 hi def link masmOperator ia64operator
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
268 hi def link masmDirective ia64Directive
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
269 hi def link masmOpcode ia64Opcode
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
270 hi def link masmIdentifier ia64Identifier
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
271 hi def link masmFloat ia64Float
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
272
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 1121
diff changeset
273 "ia64 specific stuff
10051
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
274 hi def link ia64Label Define
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
275 hi def link ia64Comment Comment
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
276 hi def link ia64Directive Type
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
277 hi def link ia64opcode Statement
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
278 hi def link ia64registers Operator
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
279 hi def link ia64string String
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
280 hi def link ia64Hex Number
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
281 hi def link ia64Binary Number
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
282 hi def link ia64Octal Number
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
283 hi def link ia64Float Float
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
284 hi def link ia64Decimal Number
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
285 hi def link ia64Identifier Identifier
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
286 hi def link ia64data Type
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
287 hi def link ia64delimiter Delimiter
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
288 hi def link ia64operator Operator
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
289 hi def link ia64Todo Todo
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
290
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
291
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
292 let b:current_syntax = "ia64"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
293
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
294 " vim: ts=8 sw=2