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