podman

Форк
0
1069 строк · 19.4 Кб
1
// Copyright 2016 The Go Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style
3
// license that can be found in the LICENSE file.
4

5
package s390x
6

7
import (
8
	"github.com/twitchyliquid64/golang-asm/obj"
9
)
10

11
// This file contains utility functions for use when
12
// assembling vector instructions.
13

14
// vop returns the opcode, element size and condition
15
// setting for the given (possibly extended) mnemonic.
16
func vop(as obj.As) (opcode, es, cs uint32) {
17
	switch as {
18
	default:
19
		return 0, 0, 0
20
	case AVA:
21
		return op_VA, 0, 0
22
	case AVAB:
23
		return op_VA, 0, 0
24
	case AVAH:
25
		return op_VA, 1, 0
26
	case AVAF:
27
		return op_VA, 2, 0
28
	case AVAG:
29
		return op_VA, 3, 0
30
	case AVAQ:
31
		return op_VA, 4, 0
32
	case AVACC:
33
		return op_VACC, 0, 0
34
	case AVACCB:
35
		return op_VACC, 0, 0
36
	case AVACCH:
37
		return op_VACC, 1, 0
38
	case AVACCF:
39
		return op_VACC, 2, 0
40
	case AVACCG:
41
		return op_VACC, 3, 0
42
	case AVACCQ:
43
		return op_VACC, 4, 0
44
	case AVAC:
45
		return op_VAC, 0, 0
46
	case AVACQ:
47
		return op_VAC, 4, 0
48
	case AVMSLG, AVMSLEG, AVMSLOG, AVMSLEOG:
49
		return op_VMSL, 3, 0
50
	case AVACCC:
51
		return op_VACCC, 0, 0
52
	case AVACCCQ:
53
		return op_VACCC, 4, 0
54
	case AVN:
55
		return op_VN, 0, 0
56
	case AVNC:
57
		return op_VNC, 0, 0
58
	case AVAVG:
59
		return op_VAVG, 0, 0
60
	case AVAVGB:
61
		return op_VAVG, 0, 0
62
	case AVAVGH:
63
		return op_VAVG, 1, 0
64
	case AVAVGF:
65
		return op_VAVG, 2, 0
66
	case AVAVGG:
67
		return op_VAVG, 3, 0
68
	case AVAVGL:
69
		return op_VAVGL, 0, 0
70
	case AVAVGLB:
71
		return op_VAVGL, 0, 0
72
	case AVAVGLH:
73
		return op_VAVGL, 1, 0
74
	case AVAVGLF:
75
		return op_VAVGL, 2, 0
76
	case AVAVGLG:
77
		return op_VAVGL, 3, 0
78
	case AVCKSM:
79
		return op_VCKSM, 0, 0
80
	case AVCEQ:
81
		return op_VCEQ, 0, 0
82
	case AVCEQB:
83
		return op_VCEQ, 0, 0
84
	case AVCEQH:
85
		return op_VCEQ, 1, 0
86
	case AVCEQF:
87
		return op_VCEQ, 2, 0
88
	case AVCEQG:
89
		return op_VCEQ, 3, 0
90
	case AVCEQBS:
91
		return op_VCEQ, 0, 1
92
	case AVCEQHS:
93
		return op_VCEQ, 1, 1
94
	case AVCEQFS:
95
		return op_VCEQ, 2, 1
96
	case AVCEQGS:
97
		return op_VCEQ, 3, 1
98
	case AVCH:
99
		return op_VCH, 0, 0
100
	case AVCHB:
101
		return op_VCH, 0, 0
102
	case AVCHH:
103
		return op_VCH, 1, 0
104
	case AVCHF:
105
		return op_VCH, 2, 0
106
	case AVCHG:
107
		return op_VCH, 3, 0
108
	case AVCHBS:
109
		return op_VCH, 0, 1
110
	case AVCHHS:
111
		return op_VCH, 1, 1
112
	case AVCHFS:
113
		return op_VCH, 2, 1
114
	case AVCHGS:
115
		return op_VCH, 3, 1
116
	case AVCHL:
117
		return op_VCHL, 0, 0
118
	case AVCHLB:
119
		return op_VCHL, 0, 0
120
	case AVCHLH:
121
		return op_VCHL, 1, 0
122
	case AVCHLF:
123
		return op_VCHL, 2, 0
124
	case AVCHLG:
125
		return op_VCHL, 3, 0
126
	case AVCHLBS:
127
		return op_VCHL, 0, 1
128
	case AVCHLHS:
129
		return op_VCHL, 1, 1
130
	case AVCHLFS:
131
		return op_VCHL, 2, 1
132
	case AVCHLGS:
133
		return op_VCHL, 3, 1
134
	case AVCLZ:
135
		return op_VCLZ, 0, 0
136
	case AVCLZB:
137
		return op_VCLZ, 0, 0
138
	case AVCLZH:
139
		return op_VCLZ, 1, 0
140
	case AVCLZF:
141
		return op_VCLZ, 2, 0
142
	case AVCLZG:
143
		return op_VCLZ, 3, 0
144
	case AVCTZ:
145
		return op_VCTZ, 0, 0
146
	case AVCTZB:
147
		return op_VCTZ, 0, 0
148
	case AVCTZH:
149
		return op_VCTZ, 1, 0
150
	case AVCTZF:
151
		return op_VCTZ, 2, 0
152
	case AVCTZG:
153
		return op_VCTZ, 3, 0
154
	case AVEC:
155
		return op_VEC, 0, 0
156
	case AVECB:
157
		return op_VEC, 0, 0
158
	case AVECH:
159
		return op_VEC, 1, 0
160
	case AVECF:
161
		return op_VEC, 2, 0
162
	case AVECG:
163
		return op_VEC, 3, 0
164
	case AVECL:
165
		return op_VECL, 0, 0
166
	case AVECLB:
167
		return op_VECL, 0, 0
168
	case AVECLH:
169
		return op_VECL, 1, 0
170
	case AVECLF:
171
		return op_VECL, 2, 0
172
	case AVECLG:
173
		return op_VECL, 3, 0
174
	case AVERIM:
175
		return op_VERIM, 0, 0
176
	case AVERIMB:
177
		return op_VERIM, 0, 0
178
	case AVERIMH:
179
		return op_VERIM, 1, 0
180
	case AVERIMF:
181
		return op_VERIM, 2, 0
182
	case AVERIMG:
183
		return op_VERIM, 3, 0
184
	case AVERLL:
185
		return op_VERLL, 0, 0
186
	case AVERLLB:
187
		return op_VERLL, 0, 0
188
	case AVERLLH:
189
		return op_VERLL, 1, 0
190
	case AVERLLF:
191
		return op_VERLL, 2, 0
192
	case AVERLLG:
193
		return op_VERLL, 3, 0
194
	case AVERLLV:
195
		return op_VERLLV, 0, 0
196
	case AVERLLVB:
197
		return op_VERLLV, 0, 0
198
	case AVERLLVH:
199
		return op_VERLLV, 1, 0
200
	case AVERLLVF:
201
		return op_VERLLV, 2, 0
202
	case AVERLLVG:
203
		return op_VERLLV, 3, 0
204
	case AVESLV:
205
		return op_VESLV, 0, 0
206
	case AVESLVB:
207
		return op_VESLV, 0, 0
208
	case AVESLVH:
209
		return op_VESLV, 1, 0
210
	case AVESLVF:
211
		return op_VESLV, 2, 0
212
	case AVESLVG:
213
		return op_VESLV, 3, 0
214
	case AVESL:
215
		return op_VESL, 0, 0
216
	case AVESLB:
217
		return op_VESL, 0, 0
218
	case AVESLH:
219
		return op_VESL, 1, 0
220
	case AVESLF:
221
		return op_VESL, 2, 0
222
	case AVESLG:
223
		return op_VESL, 3, 0
224
	case AVESRA:
225
		return op_VESRA, 0, 0
226
	case AVESRAB:
227
		return op_VESRA, 0, 0
228
	case AVESRAH:
229
		return op_VESRA, 1, 0
230
	case AVESRAF:
231
		return op_VESRA, 2, 0
232
	case AVESRAG:
233
		return op_VESRA, 3, 0
234
	case AVESRAV:
235
		return op_VESRAV, 0, 0
236
	case AVESRAVB:
237
		return op_VESRAV, 0, 0
238
	case AVESRAVH:
239
		return op_VESRAV, 1, 0
240
	case AVESRAVF:
241
		return op_VESRAV, 2, 0
242
	case AVESRAVG:
243
		return op_VESRAV, 3, 0
244
	case AVESRL:
245
		return op_VESRL, 0, 0
246
	case AVESRLB:
247
		return op_VESRL, 0, 0
248
	case AVESRLH:
249
		return op_VESRL, 1, 0
250
	case AVESRLF:
251
		return op_VESRL, 2, 0
252
	case AVESRLG:
253
		return op_VESRL, 3, 0
254
	case AVESRLV:
255
		return op_VESRLV, 0, 0
256
	case AVESRLVB:
257
		return op_VESRLV, 0, 0
258
	case AVESRLVH:
259
		return op_VESRLV, 1, 0
260
	case AVESRLVF:
261
		return op_VESRLV, 2, 0
262
	case AVESRLVG:
263
		return op_VESRLV, 3, 0
264
	case AVX:
265
		return op_VX, 0, 0
266
	case AVFAE:
267
		return op_VFAE, 0, 0
268
	case AVFAEB:
269
		return op_VFAE, 0, 0
270
	case AVFAEH:
271
		return op_VFAE, 1, 0
272
	case AVFAEF:
273
		return op_VFAE, 2, 0
274
	case AVFAEBS:
275
		return op_VFAE, 0, 1
276
	case AVFAEHS:
277
		return op_VFAE, 1, 1
278
	case AVFAEFS:
279
		return op_VFAE, 2, 1
280
	case AVFAEZB:
281
		return op_VFAE, 0, 2
282
	case AVFAEZH:
283
		return op_VFAE, 1, 2
284
	case AVFAEZF:
285
		return op_VFAE, 2, 2
286
	case AVFAEZBS:
287
		return op_VFAE, 0, 3
288
	case AVFAEZHS:
289
		return op_VFAE, 1, 3
290
	case AVFAEZFS:
291
		return op_VFAE, 2, 3
292
	case AVFEE:
293
		return op_VFEE, 0, 0
294
	case AVFEEB:
295
		return op_VFEE, 0, 0
296
	case AVFEEH:
297
		return op_VFEE, 1, 0
298
	case AVFEEF:
299
		return op_VFEE, 2, 0
300
	case AVFEEBS:
301
		return op_VFEE, 0, 1
302
	case AVFEEHS:
303
		return op_VFEE, 1, 1
304
	case AVFEEFS:
305
		return op_VFEE, 2, 1
306
	case AVFEEZB:
307
		return op_VFEE, 0, 2
308
	case AVFEEZH:
309
		return op_VFEE, 1, 2
310
	case AVFEEZF:
311
		return op_VFEE, 2, 2
312
	case AVFEEZBS:
313
		return op_VFEE, 0, 3
314
	case AVFEEZHS:
315
		return op_VFEE, 1, 3
316
	case AVFEEZFS:
317
		return op_VFEE, 2, 3
318
	case AVFENE:
319
		return op_VFENE, 0, 0
320
	case AVFENEB:
321
		return op_VFENE, 0, 0
322
	case AVFENEH:
323
		return op_VFENE, 1, 0
324
	case AVFENEF:
325
		return op_VFENE, 2, 0
326
	case AVFENEBS:
327
		return op_VFENE, 0, 1
328
	case AVFENEHS:
329
		return op_VFENE, 1, 1
330
	case AVFENEFS:
331
		return op_VFENE, 2, 1
332
	case AVFENEZB:
333
		return op_VFENE, 0, 2
334
	case AVFENEZH:
335
		return op_VFENE, 1, 2
336
	case AVFENEZF:
337
		return op_VFENE, 2, 2
338
	case AVFENEZBS:
339
		return op_VFENE, 0, 3
340
	case AVFENEZHS:
341
		return op_VFENE, 1, 3
342
	case AVFENEZFS:
343
		return op_VFENE, 2, 3
344
	case AVFA:
345
		return op_VFA, 0, 0
346
	case AVFADB:
347
		return op_VFA, 3, 0
348
	case AWFADB:
349
		return op_VFA, 3, 0
350
	case AWFK:
351
		return op_WFK, 0, 0
352
	case AWFKDB:
353
		return op_WFK, 3, 0
354
	case AVFCE:
355
		return op_VFCE, 0, 0
356
	case AVFCEDB:
357
		return op_VFCE, 3, 0
358
	case AVFCEDBS:
359
		return op_VFCE, 3, 1
360
	case AWFCEDB:
361
		return op_VFCE, 3, 0
362
	case AWFCEDBS:
363
		return op_VFCE, 3, 1
364
	case AVFCH:
365
		return op_VFCH, 0, 0
366
	case AVFCHDB:
367
		return op_VFCH, 3, 0
368
	case AVFCHDBS:
369
		return op_VFCH, 3, 1
370
	case AWFCHDB:
371
		return op_VFCH, 3, 0
372
	case AWFCHDBS:
373
		return op_VFCH, 3, 1
374
	case AVFCHE:
375
		return op_VFCHE, 0, 0
376
	case AVFCHEDB:
377
		return op_VFCHE, 3, 0
378
	case AVFCHEDBS:
379
		return op_VFCHE, 3, 1
380
	case AWFCHEDB:
381
		return op_VFCHE, 3, 0
382
	case AWFCHEDBS:
383
		return op_VFCHE, 3, 1
384
	case AWFC:
385
		return op_WFC, 0, 0
386
	case AWFCDB:
387
		return op_WFC, 3, 0
388
	case AVCDG:
389
		return op_VCDG, 0, 0
390
	case AVCDGB:
391
		return op_VCDG, 3, 0
392
	case AWCDGB:
393
		return op_VCDG, 3, 0
394
	case AVCDLG:
395
		return op_VCDLG, 0, 0
396
	case AVCDLGB:
397
		return op_VCDLG, 3, 0
398
	case AWCDLGB:
399
		return op_VCDLG, 3, 0
400
	case AVCGD:
401
		return op_VCGD, 0, 0
402
	case AVCGDB:
403
		return op_VCGD, 3, 0
404
	case AWCGDB:
405
		return op_VCGD, 3, 0
406
	case AVCLGD:
407
		return op_VCLGD, 0, 0
408
	case AVCLGDB:
409
		return op_VCLGD, 3, 0
410
	case AWCLGDB:
411
		return op_VCLGD, 3, 0
412
	case AVFD:
413
		return op_VFD, 0, 0
414
	case AVFDDB:
415
		return op_VFD, 3, 0
416
	case AWFDDB:
417
		return op_VFD, 3, 0
418
	case AVLDE:
419
		return op_VLDE, 0, 0
420
	case AVLDEB:
421
		return op_VLDE, 2, 0
422
	case AWLDEB:
423
		return op_VLDE, 2, 0
424
	case AVLED:
425
		return op_VLED, 0, 0
426
	case AVLEDB:
427
		return op_VLED, 3, 0
428
	case AWLEDB:
429
		return op_VLED, 3, 0
430
	case AVFM:
431
		return op_VFM, 0, 0
432
	case AVFMDB:
433
		return op_VFM, 3, 0
434
	case AWFMDB:
435
		return op_VFM, 3, 0
436
	case AVFMA:
437
		return op_VFMA, 0, 0
438
	case AVFMADB:
439
		return op_VFMA, 3, 0
440
	case AWFMADB:
441
		return op_VFMA, 3, 0
442
	case AVFMS:
443
		return op_VFMS, 0, 0
444
	case AVFMSDB:
445
		return op_VFMS, 3, 0
446
	case AWFMSDB:
447
		return op_VFMS, 3, 0
448
	case AVFPSO:
449
		return op_VFPSO, 0, 0
450
	case AVFPSODB:
451
		return op_VFPSO, 3, 0
452
	case AWFPSODB:
453
		return op_VFPSO, 3, 0
454
	case AVFLCDB:
455
		return op_VFPSO, 3, 0
456
	case AWFLCDB:
457
		return op_VFPSO, 3, 0
458
	case AVFLNDB:
459
		return op_VFPSO, 3, 1
460
	case AWFLNDB:
461
		return op_VFPSO, 3, 1
462
	case AVFLPDB:
463
		return op_VFPSO, 3, 2
464
	case AWFLPDB:
465
		return op_VFPSO, 3, 2
466
	case AVFSQ:
467
		return op_VFSQ, 0, 0
468
	case AVFSQDB:
469
		return op_VFSQ, 3, 0
470
	case AWFSQDB:
471
		return op_VFSQ, 3, 0
472
	case AVFS:
473
		return op_VFS, 0, 0
474
	case AVFSDB:
475
		return op_VFS, 3, 0
476
	case AWFSDB:
477
		return op_VFS, 3, 0
478
	case AVFTCI:
479
		return op_VFTCI, 0, 0
480
	case AVFTCIDB:
481
		return op_VFTCI, 3, 0
482
	case AWFTCIDB:
483
		return op_VFTCI, 3, 0
484
	case AVGFM:
485
		return op_VGFM, 0, 0
486
	case AVGFMB:
487
		return op_VGFM, 0, 0
488
	case AVGFMH:
489
		return op_VGFM, 1, 0
490
	case AVGFMF:
491
		return op_VGFM, 2, 0
492
	case AVGFMG:
493
		return op_VGFM, 3, 0
494
	case AVGFMA:
495
		return op_VGFMA, 0, 0
496
	case AVGFMAB:
497
		return op_VGFMA, 0, 0
498
	case AVGFMAH:
499
		return op_VGFMA, 1, 0
500
	case AVGFMAF:
501
		return op_VGFMA, 2, 0
502
	case AVGFMAG:
503
		return op_VGFMA, 3, 0
504
	case AVGEF:
505
		return op_VGEF, 0, 0
506
	case AVGEG:
507
		return op_VGEG, 0, 0
508
	case AVGBM:
509
		return op_VGBM, 0, 0
510
	case AVZERO:
511
		return op_VGBM, 0, 0
512
	case AVONE:
513
		return op_VGBM, 0, 0
514
	case AVGM:
515
		return op_VGM, 0, 0
516
	case AVGMB:
517
		return op_VGM, 0, 0
518
	case AVGMH:
519
		return op_VGM, 1, 0
520
	case AVGMF:
521
		return op_VGM, 2, 0
522
	case AVGMG:
523
		return op_VGM, 3, 0
524
	case AVISTR:
525
		return op_VISTR, 0, 0
526
	case AVISTRB:
527
		return op_VISTR, 0, 0
528
	case AVISTRH:
529
		return op_VISTR, 1, 0
530
	case AVISTRF:
531
		return op_VISTR, 2, 0
532
	case AVISTRBS:
533
		return op_VISTR, 0, 1
534
	case AVISTRHS:
535
		return op_VISTR, 1, 1
536
	case AVISTRFS:
537
		return op_VISTR, 2, 1
538
	case AVL:
539
		return op_VL, 0, 0
540
	case AVLR:
541
		return op_VLR, 0, 0
542
	case AVLREP:
543
		return op_VLREP, 0, 0
544
	case AVLREPB:
545
		return op_VLREP, 0, 0
546
	case AVLREPH:
547
		return op_VLREP, 1, 0
548
	case AVLREPF:
549
		return op_VLREP, 2, 0
550
	case AVLREPG:
551
		return op_VLREP, 3, 0
552
	case AVLC:
553
		return op_VLC, 0, 0
554
	case AVLCB:
555
		return op_VLC, 0, 0
556
	case AVLCH:
557
		return op_VLC, 1, 0
558
	case AVLCF:
559
		return op_VLC, 2, 0
560
	case AVLCG:
561
		return op_VLC, 3, 0
562
	case AVLEH:
563
		return op_VLEH, 0, 0
564
	case AVLEF:
565
		return op_VLEF, 0, 0
566
	case AVLEG:
567
		return op_VLEG, 0, 0
568
	case AVLEB:
569
		return op_VLEB, 0, 0
570
	case AVLEIH:
571
		return op_VLEIH, 0, 0
572
	case AVLEIF:
573
		return op_VLEIF, 0, 0
574
	case AVLEIG:
575
		return op_VLEIG, 0, 0
576
	case AVLEIB:
577
		return op_VLEIB, 0, 0
578
	case AVFI:
579
		return op_VFI, 0, 0
580
	case AVFIDB:
581
		return op_VFI, 3, 0
582
	case AWFIDB:
583
		return op_VFI, 3, 0
584
	case AVLGV:
585
		return op_VLGV, 0, 0
586
	case AVLGVB:
587
		return op_VLGV, 0, 0
588
	case AVLGVH:
589
		return op_VLGV, 1, 0
590
	case AVLGVF:
591
		return op_VLGV, 2, 0
592
	case AVLGVG:
593
		return op_VLGV, 3, 0
594
	case AVLLEZ:
595
		return op_VLLEZ, 0, 0
596
	case AVLLEZB:
597
		return op_VLLEZ, 0, 0
598
	case AVLLEZH:
599
		return op_VLLEZ, 1, 0
600
	case AVLLEZF:
601
		return op_VLLEZ, 2, 0
602
	case AVLLEZG:
603
		return op_VLLEZ, 3, 0
604
	case AVLM:
605
		return op_VLM, 0, 0
606
	case AVLP:
607
		return op_VLP, 0, 0
608
	case AVLPB:
609
		return op_VLP, 0, 0
610
	case AVLPH:
611
		return op_VLP, 1, 0
612
	case AVLPF:
613
		return op_VLP, 2, 0
614
	case AVLPG:
615
		return op_VLP, 3, 0
616
	case AVLBB:
617
		return op_VLBB, 0, 0
618
	case AVLVG:
619
		return op_VLVG, 0, 0
620
	case AVLVGB:
621
		return op_VLVG, 0, 0
622
	case AVLVGH:
623
		return op_VLVG, 1, 0
624
	case AVLVGF:
625
		return op_VLVG, 2, 0
626
	case AVLVGG:
627
		return op_VLVG, 3, 0
628
	case AVLVGP:
629
		return op_VLVGP, 0, 0
630
	case AVLL:
631
		return op_VLL, 0, 0
632
	case AVMX:
633
		return op_VMX, 0, 0
634
	case AVMXB:
635
		return op_VMX, 0, 0
636
	case AVMXH:
637
		return op_VMX, 1, 0
638
	case AVMXF:
639
		return op_VMX, 2, 0
640
	case AVMXG:
641
		return op_VMX, 3, 0
642
	case AVMXL:
643
		return op_VMXL, 0, 0
644
	case AVMXLB:
645
		return op_VMXL, 0, 0
646
	case AVMXLH:
647
		return op_VMXL, 1, 0
648
	case AVMXLF:
649
		return op_VMXL, 2, 0
650
	case AVMXLG:
651
		return op_VMXL, 3, 0
652
	case AVMRH:
653
		return op_VMRH, 0, 0
654
	case AVMRHB:
655
		return op_VMRH, 0, 0
656
	case AVMRHH:
657
		return op_VMRH, 1, 0
658
	case AVMRHF:
659
		return op_VMRH, 2, 0
660
	case AVMRHG:
661
		return op_VMRH, 3, 0
662
	case AVMRL:
663
		return op_VMRL, 0, 0
664
	case AVMRLB:
665
		return op_VMRL, 0, 0
666
	case AVMRLH:
667
		return op_VMRL, 1, 0
668
	case AVMRLF:
669
		return op_VMRL, 2, 0
670
	case AVMRLG:
671
		return op_VMRL, 3, 0
672
	case AVMN:
673
		return op_VMN, 0, 0
674
	case AVMNB:
675
		return op_VMN, 0, 0
676
	case AVMNH:
677
		return op_VMN, 1, 0
678
	case AVMNF:
679
		return op_VMN, 2, 0
680
	case AVMNG:
681
		return op_VMN, 3, 0
682
	case AVMNL:
683
		return op_VMNL, 0, 0
684
	case AVMNLB:
685
		return op_VMNL, 0, 0
686
	case AVMNLH:
687
		return op_VMNL, 1, 0
688
	case AVMNLF:
689
		return op_VMNL, 2, 0
690
	case AVMNLG:
691
		return op_VMNL, 3, 0
692
	case AVMAE:
693
		return op_VMAE, 0, 0
694
	case AVMAEB:
695
		return op_VMAE, 0, 0
696
	case AVMAEH:
697
		return op_VMAE, 1, 0
698
	case AVMAEF:
699
		return op_VMAE, 2, 0
700
	case AVMAH:
701
		return op_VMAH, 0, 0
702
	case AVMAHB:
703
		return op_VMAH, 0, 0
704
	case AVMAHH:
705
		return op_VMAH, 1, 0
706
	case AVMAHF:
707
		return op_VMAH, 2, 0
708
	case AVMALE:
709
		return op_VMALE, 0, 0
710
	case AVMALEB:
711
		return op_VMALE, 0, 0
712
	case AVMALEH:
713
		return op_VMALE, 1, 0
714
	case AVMALEF:
715
		return op_VMALE, 2, 0
716
	case AVMALH:
717
		return op_VMALH, 0, 0
718
	case AVMALHB:
719
		return op_VMALH, 0, 0
720
	case AVMALHH:
721
		return op_VMALH, 1, 0
722
	case AVMALHF:
723
		return op_VMALH, 2, 0
724
	case AVMALO:
725
		return op_VMALO, 0, 0
726
	case AVMALOB:
727
		return op_VMALO, 0, 0
728
	case AVMALOH:
729
		return op_VMALO, 1, 0
730
	case AVMALOF:
731
		return op_VMALO, 2, 0
732
	case AVMAL:
733
		return op_VMAL, 0, 0
734
	case AVMALB:
735
		return op_VMAL, 0, 0
736
	case AVMALHW:
737
		return op_VMAL, 1, 0
738
	case AVMALF:
739
		return op_VMAL, 2, 0
740
	case AVMAO:
741
		return op_VMAO, 0, 0
742
	case AVMAOB:
743
		return op_VMAO, 0, 0
744
	case AVMAOH:
745
		return op_VMAO, 1, 0
746
	case AVMAOF:
747
		return op_VMAO, 2, 0
748
	case AVME:
749
		return op_VME, 0, 0
750
	case AVMEB:
751
		return op_VME, 0, 0
752
	case AVMEH:
753
		return op_VME, 1, 0
754
	case AVMEF:
755
		return op_VME, 2, 0
756
	case AVMH:
757
		return op_VMH, 0, 0
758
	case AVMHB:
759
		return op_VMH, 0, 0
760
	case AVMHH:
761
		return op_VMH, 1, 0
762
	case AVMHF:
763
		return op_VMH, 2, 0
764
	case AVMLE:
765
		return op_VMLE, 0, 0
766
	case AVMLEB:
767
		return op_VMLE, 0, 0
768
	case AVMLEH:
769
		return op_VMLE, 1, 0
770
	case AVMLEF:
771
		return op_VMLE, 2, 0
772
	case AVMLH:
773
		return op_VMLH, 0, 0
774
	case AVMLHB:
775
		return op_VMLH, 0, 0
776
	case AVMLHH:
777
		return op_VMLH, 1, 0
778
	case AVMLHF:
779
		return op_VMLH, 2, 0
780
	case AVMLO:
781
		return op_VMLO, 0, 0
782
	case AVMLOB:
783
		return op_VMLO, 0, 0
784
	case AVMLOH:
785
		return op_VMLO, 1, 0
786
	case AVMLOF:
787
		return op_VMLO, 2, 0
788
	case AVML:
789
		return op_VML, 0, 0
790
	case AVMLB:
791
		return op_VML, 0, 0
792
	case AVMLHW:
793
		return op_VML, 1, 0
794
	case AVMLF:
795
		return op_VML, 2, 0
796
	case AVMO:
797
		return op_VMO, 0, 0
798
	case AVMOB:
799
		return op_VMO, 0, 0
800
	case AVMOH:
801
		return op_VMO, 1, 0
802
	case AVMOF:
803
		return op_VMO, 2, 0
804
	case AVNO:
805
		return op_VNO, 0, 0
806
	case AVNOT:
807
		return op_VNO, 0, 0
808
	case AVO:
809
		return op_VO, 0, 0
810
	case AVPK:
811
		return op_VPK, 0, 0
812
	case AVPKH:
813
		return op_VPK, 1, 0
814
	case AVPKF:
815
		return op_VPK, 2, 0
816
	case AVPKG:
817
		return op_VPK, 3, 0
818
	case AVPKLS:
819
		return op_VPKLS, 0, 0
820
	case AVPKLSH:
821
		return op_VPKLS, 1, 0
822
	case AVPKLSF:
823
		return op_VPKLS, 2, 0
824
	case AVPKLSG:
825
		return op_VPKLS, 3, 0
826
	case AVPKLSHS:
827
		return op_VPKLS, 1, 1
828
	case AVPKLSFS:
829
		return op_VPKLS, 2, 1
830
	case AVPKLSGS:
831
		return op_VPKLS, 3, 1
832
	case AVPKS:
833
		return op_VPKS, 0, 0
834
	case AVPKSH:
835
		return op_VPKS, 1, 0
836
	case AVPKSF:
837
		return op_VPKS, 2, 0
838
	case AVPKSG:
839
		return op_VPKS, 3, 0
840
	case AVPKSHS:
841
		return op_VPKS, 1, 1
842
	case AVPKSFS:
843
		return op_VPKS, 2, 1
844
	case AVPKSGS:
845
		return op_VPKS, 3, 1
846
	case AVPERM:
847
		return op_VPERM, 0, 0
848
	case AVPDI:
849
		return op_VPDI, 0, 0
850
	case AVPOPCT:
851
		return op_VPOPCT, 0, 0
852
	case AVREP:
853
		return op_VREP, 0, 0
854
	case AVREPB:
855
		return op_VREP, 0, 0
856
	case AVREPH:
857
		return op_VREP, 1, 0
858
	case AVREPF:
859
		return op_VREP, 2, 0
860
	case AVREPG:
861
		return op_VREP, 3, 0
862
	case AVREPI:
863
		return op_VREPI, 0, 0
864
	case AVREPIB:
865
		return op_VREPI, 0, 0
866
	case AVREPIH:
867
		return op_VREPI, 1, 0
868
	case AVREPIF:
869
		return op_VREPI, 2, 0
870
	case AVREPIG:
871
		return op_VREPI, 3, 0
872
	case AVSCEF:
873
		return op_VSCEF, 0, 0
874
	case AVSCEG:
875
		return op_VSCEG, 0, 0
876
	case AVSEL:
877
		return op_VSEL, 0, 0
878
	case AVSL:
879
		return op_VSL, 0, 0
880
	case AVSLB:
881
		return op_VSLB, 0, 0
882
	case AVSLDB:
883
		return op_VSLDB, 0, 0
884
	case AVSRA:
885
		return op_VSRA, 0, 0
886
	case AVSRAB:
887
		return op_VSRAB, 0, 0
888
	case AVSRL:
889
		return op_VSRL, 0, 0
890
	case AVSRLB:
891
		return op_VSRLB, 0, 0
892
	case AVSEG:
893
		return op_VSEG, 0, 0
894
	case AVSEGB:
895
		return op_VSEG, 0, 0
896
	case AVSEGH:
897
		return op_VSEG, 1, 0
898
	case AVSEGF:
899
		return op_VSEG, 2, 0
900
	case AVST:
901
		return op_VST, 0, 0
902
	case AVSTEH:
903
		return op_VSTEH, 0, 0
904
	case AVSTEF:
905
		return op_VSTEF, 0, 0
906
	case AVSTEG:
907
		return op_VSTEG, 0, 0
908
	case AVSTEB:
909
		return op_VSTEB, 0, 0
910
	case AVSTM:
911
		return op_VSTM, 0, 0
912
	case AVSTL:
913
		return op_VSTL, 0, 0
914
	case AVSTRC:
915
		return op_VSTRC, 0, 0
916
	case AVSTRCB:
917
		return op_VSTRC, 0, 0
918
	case AVSTRCH:
919
		return op_VSTRC, 1, 0
920
	case AVSTRCF:
921
		return op_VSTRC, 2, 0
922
	case AVSTRCBS:
923
		return op_VSTRC, 0, 1
924
	case AVSTRCHS:
925
		return op_VSTRC, 1, 1
926
	case AVSTRCFS:
927
		return op_VSTRC, 2, 1
928
	case AVSTRCZB:
929
		return op_VSTRC, 0, 2
930
	case AVSTRCZH:
931
		return op_VSTRC, 1, 2
932
	case AVSTRCZF:
933
		return op_VSTRC, 2, 2
934
	case AVSTRCZBS:
935
		return op_VSTRC, 0, 3
936
	case AVSTRCZHS:
937
		return op_VSTRC, 1, 3
938
	case AVSTRCZFS:
939
		return op_VSTRC, 2, 3
940
	case AVS:
941
		return op_VS, 0, 0
942
	case AVSB:
943
		return op_VS, 0, 0
944
	case AVSH:
945
		return op_VS, 1, 0
946
	case AVSF:
947
		return op_VS, 2, 0
948
	case AVSG:
949
		return op_VS, 3, 0
950
	case AVSQ:
951
		return op_VS, 4, 0
952
	case AVSCBI:
953
		return op_VSCBI, 0, 0
954
	case AVSCBIB:
955
		return op_VSCBI, 0, 0
956
	case AVSCBIH:
957
		return op_VSCBI, 1, 0
958
	case AVSCBIF:
959
		return op_VSCBI, 2, 0
960
	case AVSCBIG:
961
		return op_VSCBI, 3, 0
962
	case AVSCBIQ:
963
		return op_VSCBI, 4, 0
964
	case AVSBCBI:
965
		return op_VSBCBI, 0, 0
966
	case AVSBCBIQ:
967
		return op_VSBCBI, 4, 0
968
	case AVSBI:
969
		return op_VSBI, 0, 0
970
	case AVSBIQ:
971
		return op_VSBI, 4, 0
972
	case AVSUMG:
973
		return op_VSUMG, 0, 0
974
	case AVSUMGH:
975
		return op_VSUMG, 1, 0
976
	case AVSUMGF:
977
		return op_VSUMG, 2, 0
978
	case AVSUMQ:
979
		return op_VSUMQ, 0, 0
980
	case AVSUMQF:
981
		return op_VSUMQ, 2, 0
982
	case AVSUMQG:
983
		return op_VSUMQ, 3, 0
984
	case AVSUM:
985
		return op_VSUM, 0, 0
986
	case AVSUMB:
987
		return op_VSUM, 0, 0
988
	case AVSUMH:
989
		return op_VSUM, 1, 0
990
	case AVTM:
991
		return op_VTM, 0, 0
992
	case AVUPH:
993
		return op_VUPH, 0, 0
994
	case AVUPHB:
995
		return op_VUPH, 0, 0
996
	case AVUPHH:
997
		return op_VUPH, 1, 0
998
	case AVUPHF:
999
		return op_VUPH, 2, 0
1000
	case AVUPLH:
1001
		return op_VUPLH, 0, 0
1002
	case AVUPLHB:
1003
		return op_VUPLH, 0, 0
1004
	case AVUPLHH:
1005
		return op_VUPLH, 1, 0
1006
	case AVUPLHF:
1007
		return op_VUPLH, 2, 0
1008
	case AVUPLL:
1009
		return op_VUPLL, 0, 0
1010
	case AVUPLLB:
1011
		return op_VUPLL, 0, 0
1012
	case AVUPLLH:
1013
		return op_VUPLL, 1, 0
1014
	case AVUPLLF:
1015
		return op_VUPLL, 2, 0
1016
	case AVUPL:
1017
		return op_VUPL, 0, 0
1018
	case AVUPLB:
1019
		return op_VUPL, 0, 0
1020
	case AVUPLHW:
1021
		return op_VUPL, 1, 0
1022
	case AVUPLF:
1023
		return op_VUPL, 2, 0
1024
	}
1025
}
1026

1027
// singleElementMask returns the single element mask bits required for the
1028
// given instruction.
1029
func singleElementMask(as obj.As) uint32 {
1030
	switch as {
1031
	case AWFADB,
1032
		AWFK,
1033
		AWFKDB,
1034
		AWFCEDB,
1035
		AWFCEDBS,
1036
		AWFCHDB,
1037
		AWFCHDBS,
1038
		AWFCHEDB,
1039
		AWFCHEDBS,
1040
		AWFC,
1041
		AWFCDB,
1042
		AWCDGB,
1043
		AWCDLGB,
1044
		AWCGDB,
1045
		AWCLGDB,
1046
		AWFDDB,
1047
		AWLDEB,
1048
		AWLEDB,
1049
		AWFMDB,
1050
		AWFMADB,
1051
		AWFMSDB,
1052
		AWFPSODB,
1053
		AWFLCDB,
1054
		AWFLNDB,
1055
		AWFLPDB,
1056
		AWFSQDB,
1057
		AWFSDB,
1058
		AWFTCIDB,
1059
		AWFIDB:
1060
		return 8
1061
	case AVMSLEG:
1062
		return 8
1063
	case AVMSLOG:
1064
		return 4
1065
	case AVMSLEOG:
1066
		return 12
1067
	}
1068
	return 0
1069
}
1070

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.