...
1
2
3###FILE: ./datafiles/xed-operand-width.txt
4
5#BEGIN_LEGAL
6#
7#Copyright (c) 2016 Intel Corporation
8#
9# Licensed under the Apache License, Version 2.0 (the "License");
10# you may not use this file except in compliance with the License.
11# You may obtain a copy of the License at
12#
13# http://www.apache.org/licenses/LICENSE-2.0
14#
15# Unless required by applicable law or agreed to in writing, software
16# distributed under the License is distributed on an "AS IS" BASIS,
17# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18# See the License for the specific language governing permissions and
19# limitations under the License.
20#
21#END_LEGAL
22# @file xed-operand-width.txt
23
24# the default xtype can be overridden in each operand using a ":" followed by an explicit xtype
25##
26## the width defaults to bytes. But it can be bits if it has a "bits" suffix
27##
28#
29# default
30#oc2-code XTYPE width16 width32 width64 (if only one width is shown, it is for all widths)
31#
32INVALID INVALID 0
33#
34# 3 strange things:
35#
36asz int 2 4 8 # varies with the effective address width
37ssz int 2 4 8 # varies with the stack address width
38pseudo struct 0 # these are for unusual registers
39pseudox87 struct 0 # these are for unusual registers
40#
41#
42#
43#1 i1 1 # FIXME: this is not used...
44a16 i16 4 # bound
45a32 i32 8 # bound
46b u8 1
47d i32 4
48#
49i8 i8 1
50u8 u8 1
51i16 i16 2
52u16 u16 2
53i32 i32 4
54u32 u32 4
55i64 i64 8
56u64 u64 8
57f16 f16 2 # IVB converts
58f32 f32 4
59f64 f64 8
60#
61dq i32 16
62#
63xub u8 16
64xuw u16 16
65xud u32 16
66xuq u64 16
67x128 u128 16
68#
69xb i8 16
70xw i16 16
71xd i32 16
72xq i64 16
73#
74#
75mb i8 8
76mw i16 8
77md i32 8
78mq i64 8
79#
80m64int i64 8
81m64real f64 8
82mem108 struct 108
83mem14 struct 14
84mem16 struct 2
85mem16int i16 2
86mem28 struct 28
87mem32int i32 4
88mem32real f32 4
89mem80dec b80 10
90mem80real f80 10
91f80 f80 10 # for X87 registers:
92mem94 struct 94
93mfpxenv struct 512
94mxsave struct 576
95mprefetch i64 64 # made up width for prefetches
96p struct 4 6 6
97p2 struct 4 6 10
98pd f64 16
99ps f32 16
100pi i32 8
101q i64 8
102s struct 6 6 10
103s64 struct 10
104sd f64 8
105si i32 4
106ss f32 4
107v int 2 4 8
108y int 4 4 8
109w i16 2
110z int 2 4 4
111spw8 int 16 32 0 # varies (64b invalid) STACK POINTER WIDTH
112spw int 2 4 8 # varies STACK POINTER WIDTH
113spw5 int 10 20 40 # varies (IRET approx) STACK POINTER WIDTH
114spw3 int 6 12 24 # varies (IRET approx) STACK POINTER WIDTH
115spw2 int 4 8 16 # varies (FAR call/ret approx) STACK POINTER WIDTH
116i1 int 1bits
117i2 int 2bits
118i3 int 3bits
119i4 int 4bits
120i5 int 5bits
121i6 int 6bits
122i7 int 7bits
123i8 int 8bits
124var var 0 # relies on NELEM * ELEMENT_SIZE to get the number of bits.
125bnd32 u32 12 # MPX 32b BNDLDX/BNDSTX memop 3x4B
126bnd64 u64 24 # MPX 32b BNDLDX/BNDSTX memop 3x8B
127
128
129###FILE: ./datafiles/avx/avx-operand-width.txt
130
131#BEGIN_LEGAL
132#
133#Copyright (c) 2016 Intel Corporation
134#
135# Licensed under the Apache License, Version 2.0 (the "License");
136# you may not use this file except in compliance with the License.
137# You may obtain a copy of the License at
138#
139# http://www.apache.org/licenses/LICENSE-2.0
140#
141# Unless required by applicable law or agreed to in writing, software
142# distributed under the License is distributed on an "AS IS" BASIS,
143# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
144# See the License for the specific language governing permissions and
145# limitations under the License.
146#
147#END_LEGAL
148#
149#code XTYPE width16 width32 width64 (if only one width is presented, it is for all widths)
150#
151qq i32 32
152yub u8 32
153yuw u16 32
154yud u32 32
155yuq u64 32
156y128 u128 32
157
158yb i8 32
159yw i16 32
160yd i32 32
161yq i64 32
162
163yps f32 32
164ypd f64 32
165
166
167
168
169###FILE: ./datafiles/avx512f/avx512-operand-widths.txt
170
171#BEGIN_LEGAL
172#
173#Copyright (c) 2016 Intel Corporation
174#
175# Licensed under the Apache License, Version 2.0 (the "License");
176# you may not use this file except in compliance with the License.
177# You may obtain a copy of the License at
178#
179# http://www.apache.org/licenses/LICENSE-2.0
180#
181# Unless required by applicable law or agreed to in writing, software
182# distributed under the License is distributed on an "AS IS" BASIS,
183# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
184# See the License for the specific language governing permissions and
185# limitations under the License.
186#
187#END_LEGAL
188#
189#code XTYPE width16 width32 width64 (if only one width is presented, it is for all widths)
190#
191vv var 0 # relies on nelem * elem_size
192zv var 0 # relies on nelem * elem_size
193
194wrd u16 16bits
195mskw i1 64bits # FIXME: bad name
196
197zmskw i1 512bits
198
199zf32 f32 512bits
200zf64 f64 512bits
201
202zb i8 512bits
203zw i16 512bits
204zd i32 512bits
205zq i64 512bits
206
207zub u8 512bits
208zuw u16 512bits
209zud u32 512bits
210zuq u64 512bits
211
212# alternative names...
213zi8 i8 512bits
214zi16 i16 512bits
215zi32 i32 512bits
216zi64 i64 512bits
217
218zu8 u8 512bits
219zu16 u16 512bits
220zu32 u32 512bits
221zu64 u64 512bits
222zu128 u128 512bits
223
224
View as plain text