// Copyright (c) 2026 Petr Balvín (https://petrbalvin.org) // SPDX-License-Identifier: BSD-3-Clause package asm import ( "slices" "strings" "testing" ) // amd64VexParityCorpus holds every line the Go toolchain's own // amd64enc.s carries for the mnemonics the full-file byte sweep // flagged: the VEX forms the toolchain prefers for plain vector // registers, the compare-with-predicate family and the byte-level // corrections (PEXTRW's GPR fields, PUSHW and POPW widths, the double // shift's high register field, VCOMISS's prefix, RORX's destination // bit, the variable shifts' consolidated rows). Each entry lists the // byte strings go tool asm emits or accepts for the line; a line // passes when the assembled bytes match one of them. var amd64VexParityCorpus = []struct { line string want string }{ {"PEXTRW $7, X11, (BX)", "66 44 0f 3a 15 1b 07"}, {"PEXTRW $7, X11, (R11)", "66 45 0f 3a 15 1b 07"}, {"PEXTRW $7, X11, DX", "66 41 0f c5 d3 07|66 44 0f 3a 15 da 07"}, {"PEXTRW $7, X11, R11", "66 45 0f c5 db 07|66 45 0f 3a 15 db 07"}, {"PEXTRW $7, X2, (BX)", "66 0f 3a 15 13 07"}, {"PEXTRW $7, X2, (R11)", "66 41 0f 3a 15 13 07"}, {"PEXTRW $7, X2, DX", "66 0f c5 d2 07|66 0f 3a 15 d2 07"}, {"PEXTRW $7, X2, R11", "66 44 0f c5 da 07|66 41 0f 3a 15 d3 07"}, {"POPW (BX)", "66 8f 03"}, {"POPW (R11)", "66 41 8f 03"}, {"POPW DX", "66 8f c2|66 5a"}, {"POPW R11", "66 41 8f c3|66 41 5b"}, {"PUSHW $61731", "66 68 23 f1"}, {"PUSHW (BX)", "66 ff 33"}, {"PUSHW (R11)", "66 41 ff 33"}, {"PUSHW DX", "66 ff f2|66 52"}, {"PUSHW R11", "66 41 ff f3|66 41 53"}, {"RORXL $7, (BX), DX", "c4 e3 7b f0 13 07"}, {"RORXL $7, (BX), R11", "c4 63 7b f0 1b 07"}, {"RORXL $7, (R11), DX", "c4 c3 7b f0 13 07"}, {"RORXL $7, (R11), R11", "c4 43 7b f0 1b 07"}, {"RORXL $7, DX, DX", "c4 e3 7b f0 d2 07"}, {"RORXL $7, DX, R11", "c4 63 7b f0 da 07"}, {"RORXL $7, R11, DX", "c4 c3 7b f0 d3 07"}, {"RORXL $7, R11, R11", "c4 43 7b f0 db 07"}, {"RORXQ $7, (BX), DX", "c4 e3 fb f0 13 07"}, {"RORXQ $7, (BX), R11", "c4 63 fb f0 1b 07"}, {"RORXQ $7, (R11), DX", "c4 c3 fb f0 13 07"}, {"RORXQ $7, (R11), R11", "c4 43 fb f0 1b 07"}, {"RORXQ $7, DX, DX", "c4 e3 fb f0 d2 07"}, {"RORXQ $7, DX, R11", "c4 63 fb f0 da 07"}, {"RORXQ $7, R11, DX", "c4 c3 fb f0 d3 07"}, {"RORXQ $7, R11, R11", "c4 43 fb f0 db 07"}, {"SHLL $1, (BX)", "d1 23"}, {"SHLL $1, (R11)", "41 d1 23"}, {"SHLL $1, DX", "d1 e2"}, {"SHLL $1, R11", "41 d1 e3"}, {"SHLL $7, (BX)", "c1 23 07"}, {"SHLL $7, (R11)", "41 c1 23 07"}, {"SHLL $7, DX", "c1 e2 07"}, {"SHLL $7, DX, (BX)", "0f a4 13 07"}, {"SHLL $7, DX, (R11)", "41 0f a4 13 07"}, {"SHLL $7, DX, DX", "0f a4 d2 07"}, {"SHLL $7, DX, R11", "41 0f a4 d3 07"}, {"SHLL $7, R11", "41 c1 e3 07"}, {"SHLL $7, R11, (BX)", "44 0f a4 1b 07"}, {"SHLL $7, R11, (R11)", "45 0f a4 1b 07"}, {"SHLL $7, R11, DX", "44 0f a4 da 07"}, {"SHLL $7, R11, R11", "45 0f a4 db 07"}, {"SHLL CL, (BX)", "d3 23"}, {"SHLL CL, (R11)", "41 d3 23"}, {"SHLL CL, DX", "d3 e2"}, {"SHLL CL, DX, (BX)", "0f a5 13"}, {"SHLL CL, DX, (R11)", "41 0f a5 13"}, {"SHLL CL, DX, DX", "0f a5 d2"}, {"SHLL CL, DX, R11", "41 0f a5 d3"}, {"SHLL CL, R11", "41 d3 e3"}, {"SHLL CL, R11, (BX)", "44 0f a5 1b"}, {"SHLL CL, R11, (R11)", "45 0f a5 1b"}, {"SHLL CL, R11, DX", "44 0f a5 da"}, {"SHLL CL, R11, R11", "45 0f a5 db"}, {"SHLQ $1, (BX)", "48 d1 23"}, {"SHLQ $1, (R11)", "49 d1 23"}, {"SHLQ $1, DX", "48 d1 e2"}, {"SHLQ $1, R11", "49 d1 e3"}, {"SHLQ $7, (BX)", "48 c1 23 07"}, {"SHLQ $7, (R11)", "49 c1 23 07"}, {"SHLQ $7, DX", "48 c1 e2 07"}, {"SHLQ $7, DX, (BX)", "48 0f a4 13 07"}, {"SHLQ $7, DX, (R11)", "49 0f a4 13 07"}, {"SHLQ $7, DX, DX", "48 0f a4 d2 07"}, {"SHLQ $7, DX, R11", "49 0f a4 d3 07"}, {"SHLQ $7, R11", "49 c1 e3 07"}, {"SHLQ $7, R11, (BX)", "4c 0f a4 1b 07"}, {"SHLQ $7, R11, (R11)", "4d 0f a4 1b 07"}, {"SHLQ $7, R11, DX", "4c 0f a4 da 07"}, {"SHLQ $7, R11, R11", "4d 0f a4 db 07"}, {"SHLQ CL, (BX)", "48 d3 23"}, {"SHLQ CL, (R11)", "49 d3 23"}, {"SHLQ CL, DX", "48 d3 e2"}, {"SHLQ CL, DX, (BX)", "48 0f a5 13"}, {"SHLQ CL, DX, (R11)", "49 0f a5 13"}, {"SHLQ CL, DX, DX", "48 0f a5 d2"}, {"SHLQ CL, DX, R11", "49 0f a5 d3"}, {"SHLQ CL, R11", "49 d3 e3"}, {"SHLQ CL, R11, (BX)", "4c 0f a5 1b"}, {"SHLQ CL, R11, (R11)", "4d 0f a5 1b"}, {"SHLQ CL, R11, DX", "4c 0f a5 da"}, {"SHLQ CL, R11, R11", "4d 0f a5 db"}, {"SHLW $1, (BX)", "66 d1 23"}, {"SHLW $1, (R11)", "66 41 d1 23"}, {"SHLW $1, DX", "66 d1 e2"}, {"SHLW $1, R11", "66 41 d1 e3"}, {"SHLW $7, (BX)", "66 c1 23 07"}, {"SHLW $7, (R11)", "66 41 c1 23 07"}, {"SHLW $7, DX", "66 c1 e2 07"}, {"SHLW $7, DX, (BX)", "66 0f a4 13 07"}, {"SHLW $7, DX, (R11)", "66 41 0f a4 13 07"}, {"SHLW $7, DX, DX", "66 0f a4 d2 07"}, {"SHLW $7, DX, R11", "66 41 0f a4 d3 07"}, {"SHLW $7, R11", "66 41 c1 e3 07"}, {"SHLW $7, R11, (BX)", "66 44 0f a4 1b 07"}, {"SHLW $7, R11, (R11)", "66 45 0f a4 1b 07"}, {"SHLW $7, R11, DX", "66 44 0f a4 da 07"}, {"SHLW $7, R11, R11", "66 45 0f a4 db 07"}, {"SHLW CL, (BX)", "66 d3 23"}, {"SHLW CL, (R11)", "66 41 d3 23"}, {"SHLW CL, DX", "66 d3 e2"}, {"SHLW CL, DX, (BX)", "66 0f a5 13"}, {"SHLW CL, DX, (R11)", "66 41 0f a5 13"}, {"SHLW CL, DX, DX", "66 0f a5 d2"}, {"SHLW CL, DX, R11", "66 41 0f a5 d3"}, {"SHLW CL, R11", "66 41 d3 e3"}, {"SHLW CL, R11, (BX)", "66 44 0f a5 1b"}, {"SHLW CL, R11, (R11)", "66 45 0f a5 1b"}, {"SHLW CL, R11, DX", "66 44 0f a5 da"}, {"SHLW CL, R11, R11", "66 45 0f a5 db"}, {"VCMPPD $7, (BX), X9, X11", "c4 61 31 c2 1b 07|c5 31 c2 1b 07"}, {"VCMPPD $7, (BX), X9, X2", "c4 e1 31 c2 13 07|c5 b1 c2 13 07"}, {"VCMPPD $7, (BX), Y15, Y11", "c4 61 05 c2 1b 07|c5 05 c2 1b 07"}, {"VCMPPD $7, (BX), Y15, Y2", "c4 e1 05 c2 13 07|c5 85 c2 13 07"}, {"VCMPPD $7, (R11), X9, X11", "c4 41 31 c2 1b 07"}, {"VCMPPD $7, (R11), X9, X2", "c4 c1 31 c2 13 07"}, {"VCMPPD $7, (R11), Y15, Y11", "c4 41 05 c2 1b 07"}, {"VCMPPD $7, (R11), Y15, Y2", "c4 c1 05 c2 13 07"}, {"VCMPPD $7, X11, X9, X11", "c4 41 31 c2 db 07"}, {"VCMPPD $7, X11, X9, X2", "c4 c1 31 c2 d3 07"}, {"VCMPPD $7, X2, X9, X11", "c4 61 31 c2 da 07|c5 31 c2 da 07"}, {"VCMPPD $7, X2, X9, X2", "c4 e1 31 c2 d2 07|c5 b1 c2 d2 07"}, {"VCMPPD $7, Y11, Y15, Y11", "c4 41 05 c2 db 07"}, {"VCMPPD $7, Y11, Y15, Y2", "c4 c1 05 c2 d3 07"}, {"VCMPPD $7, Y2, Y15, Y11", "c4 61 05 c2 da 07|c5 05 c2 da 07"}, {"VCMPPD $7, Y2, Y15, Y2", "c4 e1 05 c2 d2 07|c5 85 c2 d2 07"}, {"VCMPPS $7, (BX), X9, X11", "c4 61 30 c2 1b 07|c5 30 c2 1b 07"}, {"VCMPPS $7, (BX), X9, X2", "c4 e1 30 c2 13 07|c5 b0 c2 13 07"}, {"VCMPPS $7, (BX), Y15, Y11", "c4 61 04 c2 1b 07|c5 04 c2 1b 07"}, {"VCMPPS $7, (BX), Y15, Y2", "c4 e1 04 c2 13 07|c5 84 c2 13 07"}, {"VCMPPS $7, (R11), X9, X11", "c4 41 30 c2 1b 07"}, {"VCMPPS $7, (R11), X9, X2", "c4 c1 30 c2 13 07"}, {"VCMPPS $7, (R11), Y15, Y11", "c4 41 04 c2 1b 07"}, {"VCMPPS $7, (R11), Y15, Y2", "c4 c1 04 c2 13 07"}, {"VCMPPS $7, X11, X9, X11", "c4 41 30 c2 db 07"}, {"VCMPPS $7, X11, X9, X2", "c4 c1 30 c2 d3 07"}, {"VCMPPS $7, X2, X9, X11", "c4 61 30 c2 da 07|c5 30 c2 da 07"}, {"VCMPPS $7, X2, X9, X2", "c4 e1 30 c2 d2 07|c5 b0 c2 d2 07"}, {"VCMPPS $7, Y11, Y15, Y11", "c4 41 04 c2 db 07"}, {"VCMPPS $7, Y11, Y15, Y2", "c4 c1 04 c2 d3 07"}, {"VCMPPS $7, Y2, Y15, Y11", "c4 61 04 c2 da 07|c5 04 c2 da 07"}, {"VCMPPS $7, Y2, Y15, Y2", "c4 e1 04 c2 d2 07|c5 84 c2 d2 07"}, {"VCMPSD $7, (BX), X9, X11", "c4 61 33 c2 1b 07|c5 33 c2 1b 07"}, {"VCMPSD $7, (BX), X9, X2", "c4 e1 33 c2 13 07|c5 b3 c2 13 07"}, {"VCMPSD $7, (R11), X9, X11", "c4 41 33 c2 1b 07"}, {"VCMPSD $7, (R11), X9, X2", "c4 c1 33 c2 13 07"}, {"VCMPSD $7, X11, X9, X11", "c4 41 33 c2 db 07"}, {"VCMPSD $7, X11, X9, X2", "c4 c1 33 c2 d3 07"}, {"VCMPSD $7, X2, X9, X11", "c4 61 33 c2 da 07|c5 33 c2 da 07"}, {"VCMPSD $7, X2, X9, X2", "c4 e1 33 c2 d2 07|c5 b3 c2 d2 07"}, {"VCMPSS $7, (BX), X9, X11", "c4 61 32 c2 1b 07|c5 32 c2 1b 07"}, {"VCMPSS $7, (BX), X9, X2", "c4 e1 32 c2 13 07|c5 b2 c2 13 07"}, {"VCMPSS $7, (R11), X9, X11", "c4 41 32 c2 1b 07"}, {"VCMPSS $7, (R11), X9, X2", "c4 c1 32 c2 13 07"}, {"VCMPSS $7, X11, X9, X11", "c4 41 32 c2 db 07"}, {"VCMPSS $7, X11, X9, X2", "c4 c1 32 c2 d3 07"}, {"VCMPSS $7, X2, X9, X11", "c4 61 32 c2 da 07|c5 32 c2 da 07"}, {"VCMPSS $7, X2, X9, X2", "c4 e1 32 c2 d2 07|c5 b2 c2 d2 07"}, {"VCOMISS (BX), X11", "c4 61 78 2f 1b|c5 78 2f 1b"}, {"VCOMISS (BX), X2", "c4 e1 78 2f 13|c5 f8 2f 13"}, {"VCOMISS (R11), X11", "c4 41 78 2f 1b"}, {"VCOMISS (R11), X2", "c4 c1 78 2f 13"}, {"VCOMISS X11, X11", "c4 41 78 2f db"}, {"VCOMISS X11, X2", "c4 c1 78 2f d3"}, {"VCOMISS X2, X11", "c4 61 78 2f da|c5 78 2f da"}, {"VCOMISS X2, X2", "c4 e1 78 2f d2|c5 f8 2f d2"}, {"VCVTPS2DQ (BX), X11", "c4 61 79 5b 1b|c5 79 5b 1b"}, {"VCVTPS2DQ (BX), X2", "c4 e1 79 5b 13|c5 f9 5b 13"}, {"VCVTPS2DQ (BX), Y11", "c4 61 7d 5b 1b|c5 7d 5b 1b"}, {"VCVTPS2DQ (BX), Y2", "c4 e1 7d 5b 13|c5 fd 5b 13"}, {"VCVTPS2DQ (R11), X11", "c4 41 79 5b 1b"}, {"VCVTPS2DQ (R11), X2", "c4 c1 79 5b 13"}, {"VCVTPS2DQ (R11), Y11", "c4 41 7d 5b 1b"}, {"VCVTPS2DQ (R11), Y2", "c4 c1 7d 5b 13"}, {"VCVTPS2DQ X11, X11", "c4 41 79 5b db"}, {"VCVTPS2DQ X11, X2", "c4 c1 79 5b d3"}, {"VCVTPS2DQ X2, X11", "c4 61 79 5b da|c5 79 5b da"}, {"VCVTPS2DQ X2, X2", "c4 e1 79 5b d2|c5 f9 5b d2"}, {"VCVTPS2DQ Y11, Y11", "c4 41 7d 5b db"}, {"VCVTPS2DQ Y11, Y2", "c4 c1 7d 5b d3"}, {"VCVTPS2DQ Y2, Y11", "c4 61 7d 5b da|c5 7d 5b da"}, {"VCVTPS2DQ Y2, Y2", "c4 e1 7d 5b d2|c5 fd 5b d2"}, {"VCVTTPS2DQ (BX), X11", "c4 61 7a 5b 1b|c5 7a 5b 1b"}, {"VCVTTPS2DQ (BX), X2", "c4 e1 7a 5b 13|c5 fa 5b 13"}, {"VCVTTPS2DQ (BX), Y11", "c4 61 7e 5b 1b|c5 7e 5b 1b"}, {"VCVTTPS2DQ (BX), Y2", "c4 e1 7e 5b 13|c5 fe 5b 13"}, {"VCVTTPS2DQ (R11), X11", "c4 41 7a 5b 1b"}, {"VCVTTPS2DQ (R11), X2", "c4 c1 7a 5b 13"}, {"VCVTTPS2DQ (R11), Y11", "c4 41 7e 5b 1b"}, {"VCVTTPS2DQ (R11), Y2", "c4 c1 7e 5b 13"}, {"VCVTTPS2DQ X11, X11", "c4 41 7a 5b db"}, {"VCVTTPS2DQ X11, X2", "c4 c1 7a 5b d3"}, {"VCVTTPS2DQ X2, X11", "c4 61 7a 5b da|c5 7a 5b da"}, {"VCVTTPS2DQ X2, X2", "c4 e1 7a 5b d2|c5 fa 5b d2"}, {"VCVTTPS2DQ Y11, Y11", "c4 41 7e 5b db"}, {"VCVTTPS2DQ Y11, Y2", "c4 c1 7e 5b d3"}, {"VCVTTPS2DQ Y2, Y11", "c4 61 7e 5b da|c5 7e 5b da"}, {"VCVTTPS2DQ Y2, Y2", "c4 e1 7e 5b d2|c5 fe 5b d2"}, {"VMOVLHPS X11, X9, X11", "c4 41 30 16 db"}, {"VMOVLHPS X11, X9, X2", "c4 c1 30 16 d3"}, {"VMOVLHPS X2, X9, X11", "c4 61 30 16 da|c5 30 16 da"}, {"VMOVLHPS X2, X9, X2", "c4 e1 30 16 d2|c5 b0 16 d2"}, {"VMOVUPS (BX), X11", "c4 61 78 10 1b|c5 78 10 1b"}, {"VMOVUPS (BX), X2", "c4 e1 78 10 13|c5 f8 10 13"}, {"VMOVUPS (BX), Y11", "c4 61 7c 10 1b|c5 7c 10 1b"}, {"VMOVUPS (BX), Y2", "c4 e1 7c 10 13|c5 fc 10 13"}, {"VMOVUPS (R11), X11", "c4 41 78 10 1b"}, {"VMOVUPS (R11), X2", "c4 c1 78 10 13"}, {"VMOVUPS (R11), Y11", "c4 41 7c 10 1b"}, {"VMOVUPS (R11), Y2", "c4 c1 7c 10 13"}, {"VMOVUPS X11, (BX)", "c4 61 78 11 1b|c5 78 11 1b"}, {"VMOVUPS X11, (R11)", "c4 41 78 11 1b"}, {"VMOVUPS X11, X11", "c4 41 78 10 db|c4 41 78 11 db"}, {"VMOVUPS X11, X2", "c4 c1 78 10 d3|c4 61 78 11 da|c5 78 11 da"}, {"VMOVUPS X2, (BX)", "c4 e1 78 11 13|c5 f8 11 13"}, {"VMOVUPS X2, (R11)", "c4 c1 78 11 13"}, {"VMOVUPS X2, X11", "c4 61 78 10 da|c5 78 10 da|c4 c1 78 11 d3"}, {"VMOVUPS X2, X2", "c4 e1 78 10 d2|c5 f8 10 d2|c4 e1 78 11 d2|c5 f8 11 d2"}, {"VMOVUPS Y11, (BX)", "c4 61 7c 11 1b|c5 7c 11 1b"}, {"VMOVUPS Y11, (R11)", "c4 41 7c 11 1b"}, {"VMOVUPS Y11, Y11", "c4 41 7c 10 db|c4 41 7c 11 db"}, {"VMOVUPS Y11, Y2", "c4 c1 7c 10 d3|c4 61 7c 11 da|c5 7c 11 da"}, {"VMOVUPS Y2, (BX)", "c4 e1 7c 11 13|c5 fc 11 13"}, {"VMOVUPS Y2, (R11)", "c4 c1 7c 11 13"}, {"VMOVUPS Y2, Y11", "c4 61 7c 10 da|c5 7c 10 da|c4 c1 7c 11 d3"}, {"VMOVUPS Y2, Y2", "c4 e1 7c 10 d2|c5 fc 10 d2|c4 e1 7c 11 d2|c5 fc 11 d2"}, {"VPABSB (BX), X11", "c4 62 79 1c 1b"}, {"VPABSB (BX), X2", "c4 e2 79 1c 13"}, {"VPABSB (BX), Y11", "c4 62 7d 1c 1b"}, {"VPABSB (BX), Y2", "c4 e2 7d 1c 13"}, {"VPABSB (R11), X11", "c4 42 79 1c 1b"}, {"VPABSB (R11), X2", "c4 c2 79 1c 13"}, {"VPABSB (R11), Y11", "c4 42 7d 1c 1b"}, {"VPABSB (R11), Y2", "c4 c2 7d 1c 13"}, {"VPABSB X11, X11", "c4 42 79 1c db"}, {"VPABSB X11, X2", "c4 c2 79 1c d3"}, {"VPABSB X2, X11", "c4 62 79 1c da"}, {"VPABSB X2, X2", "c4 e2 79 1c d2"}, {"VPABSB Y11, Y11", "c4 42 7d 1c db"}, {"VPABSB Y11, Y2", "c4 c2 7d 1c d3"}, {"VPABSB Y2, Y11", "c4 62 7d 1c da"}, {"VPABSB Y2, Y2", "c4 e2 7d 1c d2"}, {"VPABSD (BX), X11", "c4 62 79 1e 1b"}, {"VPABSD (BX), X2", "c4 e2 79 1e 13"}, {"VPABSD (BX), Y11", "c4 62 7d 1e 1b"}, {"VPABSD (BX), Y2", "c4 e2 7d 1e 13"}, {"VPABSD (R11), X11", "c4 42 79 1e 1b"}, {"VPABSD (R11), X2", "c4 c2 79 1e 13"}, {"VPABSD (R11), Y11", "c4 42 7d 1e 1b"}, {"VPABSD (R11), Y2", "c4 c2 7d 1e 13"}, {"VPABSD X11, X11", "c4 42 79 1e db"}, {"VPABSD X11, X2", "c4 c2 79 1e d3"}, {"VPABSD X2, X11", "c4 62 79 1e da"}, {"VPABSD X2, X2", "c4 e2 79 1e d2"}, {"VPABSD Y11, Y11", "c4 42 7d 1e db"}, {"VPABSD Y11, Y2", "c4 c2 7d 1e d3"}, {"VPABSD Y2, Y11", "c4 62 7d 1e da"}, {"VPABSD Y2, Y2", "c4 e2 7d 1e d2"}, {"VPABSW (BX), X11", "c4 62 79 1d 1b"}, {"VPABSW (BX), X2", "c4 e2 79 1d 13"}, {"VPABSW (BX), Y11", "c4 62 7d 1d 1b"}, {"VPABSW (BX), Y2", "c4 e2 7d 1d 13"}, {"VPABSW (R11), X11", "c4 42 79 1d 1b"}, {"VPABSW (R11), X2", "c4 c2 79 1d 13"}, {"VPABSW (R11), Y11", "c4 42 7d 1d 1b"}, {"VPABSW (R11), Y2", "c4 c2 7d 1d 13"}, {"VPABSW X11, X11", "c4 42 79 1d db"}, {"VPABSW X11, X2", "c4 c2 79 1d d3"}, {"VPABSW X2, X11", "c4 62 79 1d da"}, {"VPABSW X2, X2", "c4 e2 79 1d d2"}, {"VPABSW Y11, Y11", "c4 42 7d 1d db"}, {"VPABSW Y11, Y2", "c4 c2 7d 1d d3"}, {"VPABSW Y2, Y11", "c4 62 7d 1d da"}, {"VPABSW Y2, Y2", "c4 e2 7d 1d d2"}, {"VPACKSSWB (BX), X9, X11", "c4 61 31 63 1b|c5 31 63 1b"}, {"VPACKSSWB (BX), X9, X2", "c4 e1 31 63 13|c5 b1 63 13"}, {"VPACKSSWB (BX), Y15, Y11", "c4 61 05 63 1b|c5 05 63 1b"}, {"VPACKSSWB (BX), Y15, Y2", "c4 e1 05 63 13|c5 85 63 13"}, {"VPACKSSWB (R11), X9, X11", "c4 41 31 63 1b"}, {"VPACKSSWB (R11), X9, X2", "c4 c1 31 63 13"}, {"VPACKSSWB (R11), Y15, Y11", "c4 41 05 63 1b"}, {"VPACKSSWB (R11), Y15, Y2", "c4 c1 05 63 13"}, {"VPACKSSWB X11, X9, X11", "c4 41 31 63 db"}, {"VPACKSSWB X11, X9, X2", "c4 c1 31 63 d3"}, {"VPACKSSWB X2, X9, X11", "c4 61 31 63 da|c5 31 63 da"}, {"VPACKSSWB X2, X9, X2", "c4 e1 31 63 d2|c5 b1 63 d2"}, {"VPACKSSWB Y11, Y15, Y11", "c4 41 05 63 db"}, {"VPACKSSWB Y11, Y15, Y2", "c4 c1 05 63 d3"}, {"VPACKSSWB Y2, Y15, Y11", "c4 61 05 63 da|c5 05 63 da"}, {"VPACKSSWB Y2, Y15, Y2", "c4 e1 05 63 d2|c5 85 63 d2"}, {"VPACKUSDW (BX), X9, X11", "c4 62 31 2b 1b"}, {"VPACKUSDW (BX), X9, X2", "c4 e2 31 2b 13"}, {"VPACKUSDW (BX), Y15, Y11", "c4 62 05 2b 1b"}, {"VPACKUSDW (BX), Y15, Y2", "c4 e2 05 2b 13"}, {"VPACKUSDW (R11), X9, X11", "c4 42 31 2b 1b"}, {"VPACKUSDW (R11), X9, X2", "c4 c2 31 2b 13"}, {"VPACKUSDW (R11), Y15, Y11", "c4 42 05 2b 1b"}, {"VPACKUSDW (R11), Y15, Y2", "c4 c2 05 2b 13"}, {"VPACKUSDW X11, X9, X11", "c4 42 31 2b db"}, {"VPACKUSDW X11, X9, X2", "c4 c2 31 2b d3"}, {"VPACKUSDW X2, X9, X11", "c4 62 31 2b da"}, {"VPACKUSDW X2, X9, X2", "c4 e2 31 2b d2"}, {"VPACKUSDW Y11, Y15, Y11", "c4 42 05 2b db"}, {"VPACKUSDW Y11, Y15, Y2", "c4 c2 05 2b d3"}, {"VPACKUSDW Y2, Y15, Y11", "c4 62 05 2b da"}, {"VPACKUSDW Y2, Y15, Y2", "c4 e2 05 2b d2"}, {"VPACKUSWB (BX), X9, X11", "c4 61 31 67 1b|c5 31 67 1b"}, {"VPACKUSWB (BX), X9, X2", "c4 e1 31 67 13|c5 b1 67 13"}, {"VPACKUSWB (BX), Y15, Y11", "c4 61 05 67 1b|c5 05 67 1b"}, {"VPACKUSWB (BX), Y15, Y2", "c4 e1 05 67 13|c5 85 67 13"}, {"VPACKUSWB (R11), X9, X11", "c4 41 31 67 1b"}, {"VPACKUSWB (R11), X9, X2", "c4 c1 31 67 13"}, {"VPACKUSWB (R11), Y15, Y11", "c4 41 05 67 1b"}, {"VPACKUSWB (R11), Y15, Y2", "c4 c1 05 67 13"}, {"VPACKUSWB X11, X9, X11", "c4 41 31 67 db"}, {"VPACKUSWB X11, X9, X2", "c4 c1 31 67 d3"}, {"VPACKUSWB X2, X9, X11", "c4 61 31 67 da|c5 31 67 da"}, {"VPACKUSWB X2, X9, X2", "c4 e1 31 67 d2|c5 b1 67 d2"}, {"VPACKUSWB Y11, Y15, Y11", "c4 41 05 67 db"}, {"VPACKUSWB Y11, Y15, Y2", "c4 c1 05 67 d3"}, {"VPACKUSWB Y2, Y15, Y11", "c4 61 05 67 da|c5 05 67 da"}, {"VPACKUSWB Y2, Y15, Y2", "c4 e1 05 67 d2|c5 85 67 d2"}, {"VPADDB (BX), X9, X11", "c4 61 31 fc 1b|c5 31 fc 1b"}, {"VPADDB (BX), X9, X2", "c4 e1 31 fc 13|c5 b1 fc 13"}, {"VPADDB (BX), Y15, Y11", "c4 61 05 fc 1b|c5 05 fc 1b"}, {"VPADDB (BX), Y15, Y2", "c4 e1 05 fc 13|c5 85 fc 13"}, {"VPADDB (R11), X9, X11", "c4 41 31 fc 1b"}, {"VPADDB (R11), X9, X2", "c4 c1 31 fc 13"}, {"VPADDB (R11), Y15, Y11", "c4 41 05 fc 1b"}, {"VPADDB (R11), Y15, Y2", "c4 c1 05 fc 13"}, {"VPADDB X11, X9, X11", "c4 41 31 fc db"}, {"VPADDB X11, X9, X2", "c4 c1 31 fc d3"}, {"VPADDB X2, X9, X11", "c4 61 31 fc da|c5 31 fc da"}, {"VPADDB X2, X9, X2", "c4 e1 31 fc d2|c5 b1 fc d2"}, {"VPADDB Y11, Y15, Y11", "c4 41 05 fc db"}, {"VPADDB Y11, Y15, Y2", "c4 c1 05 fc d3"}, {"VPADDB Y2, Y15, Y11", "c4 61 05 fc da|c5 05 fc da"}, {"VPADDB Y2, Y15, Y2", "c4 e1 05 fc d2|c5 85 fc d2"}, {"VPADDW (BX), X9, X11", "c4 61 31 fd 1b|c5 31 fd 1b"}, {"VPADDW (BX), X9, X2", "c4 e1 31 fd 13|c5 b1 fd 13"}, {"VPADDW (BX), Y15, Y11", "c4 61 05 fd 1b|c5 05 fd 1b"}, {"VPADDW (BX), Y15, Y2", "c4 e1 05 fd 13|c5 85 fd 13"}, {"VPADDW (R11), X9, X11", "c4 41 31 fd 1b"}, {"VPADDW (R11), X9, X2", "c4 c1 31 fd 13"}, {"VPADDW (R11), Y15, Y11", "c4 41 05 fd 1b"}, {"VPADDW (R11), Y15, Y2", "c4 c1 05 fd 13"}, {"VPADDW X11, X9, X11", "c4 41 31 fd db"}, {"VPADDW X11, X9, X2", "c4 c1 31 fd d3"}, {"VPADDW X2, X9, X11", "c4 61 31 fd da|c5 31 fd da"}, {"VPADDW X2, X9, X2", "c4 e1 31 fd d2|c5 b1 fd d2"}, {"VPADDW Y11, Y15, Y11", "c4 41 05 fd db"}, {"VPADDW Y11, Y15, Y2", "c4 c1 05 fd d3"}, {"VPADDW Y2, Y15, Y11", "c4 61 05 fd da|c5 05 fd da"}, {"VPADDW Y2, Y15, Y2", "c4 e1 05 fd d2|c5 85 fd d2"}, {"VPAVGB (BX), X9, X11", "c4 61 31 e0 1b|c5 31 e0 1b"}, {"VPAVGB (BX), X9, X2", "c4 e1 31 e0 13|c5 b1 e0 13"}, {"VPAVGB (BX), Y15, Y11", "c4 61 05 e0 1b|c5 05 e0 1b"}, {"VPAVGB (BX), Y15, Y2", "c4 e1 05 e0 13|c5 85 e0 13"}, {"VPAVGB (R11), X9, X11", "c4 41 31 e0 1b"}, {"VPAVGB (R11), X9, X2", "c4 c1 31 e0 13"}, {"VPAVGB (R11), Y15, Y11", "c4 41 05 e0 1b"}, {"VPAVGB (R11), Y15, Y2", "c4 c1 05 e0 13"}, {"VPAVGB X11, X9, X11", "c4 41 31 e0 db"}, {"VPAVGB X11, X9, X2", "c4 c1 31 e0 d3"}, {"VPAVGB X2, X9, X11", "c4 61 31 e0 da|c5 31 e0 da"}, {"VPAVGB X2, X9, X2", "c4 e1 31 e0 d2|c5 b1 e0 d2"}, {"VPAVGB Y11, Y15, Y11", "c4 41 05 e0 db"}, {"VPAVGB Y11, Y15, Y2", "c4 c1 05 e0 d3"}, {"VPAVGB Y2, Y15, Y11", "c4 61 05 e0 da|c5 05 e0 da"}, {"VPAVGB Y2, Y15, Y2", "c4 e1 05 e0 d2|c5 85 e0 d2"}, {"VPAVGW (BX), X9, X11", "c4 61 31 e3 1b|c5 31 e3 1b"}, {"VPAVGW (BX), X9, X2", "c4 e1 31 e3 13|c5 b1 e3 13"}, {"VPAVGW (BX), Y15, Y11", "c4 61 05 e3 1b|c5 05 e3 1b"}, {"VPAVGW (BX), Y15, Y2", "c4 e1 05 e3 13|c5 85 e3 13"}, {"VPAVGW (R11), X9, X11", "c4 41 31 e3 1b"}, {"VPAVGW (R11), X9, X2", "c4 c1 31 e3 13"}, {"VPAVGW (R11), Y15, Y11", "c4 41 05 e3 1b"}, {"VPAVGW (R11), Y15, Y2", "c4 c1 05 e3 13"}, {"VPAVGW X11, X9, X11", "c4 41 31 e3 db"}, {"VPAVGW X11, X9, X2", "c4 c1 31 e3 d3"}, {"VPAVGW X2, X9, X11", "c4 61 31 e3 da|c5 31 e3 da"}, {"VPAVGW X2, X9, X2", "c4 e1 31 e3 d2|c5 b1 e3 d2"}, {"VPAVGW Y11, Y15, Y11", "c4 41 05 e3 db"}, {"VPAVGW Y11, Y15, Y2", "c4 c1 05 e3 d3"}, {"VPAVGW Y2, Y15, Y11", "c4 61 05 e3 da|c5 05 e3 da"}, {"VPAVGW Y2, Y15, Y2", "c4 e1 05 e3 d2|c5 85 e3 d2"}, {"VPMADDUBSW (BX), X9, X11", "c4 62 31 04 1b"}, {"VPMADDUBSW (BX), X9, X2", "c4 e2 31 04 13"}, {"VPMADDUBSW (BX), Y15, Y11", "c4 62 05 04 1b"}, {"VPMADDUBSW (BX), Y15, Y2", "c4 e2 05 04 13"}, {"VPMADDUBSW (R11), X9, X11", "c4 42 31 04 1b"}, {"VPMADDUBSW (R11), X9, X2", "c4 c2 31 04 13"}, {"VPMADDUBSW (R11), Y15, Y11", "c4 42 05 04 1b"}, {"VPMADDUBSW (R11), Y15, Y2", "c4 c2 05 04 13"}, {"VPMADDUBSW X11, X9, X11", "c4 42 31 04 db"}, {"VPMADDUBSW X11, X9, X2", "c4 c2 31 04 d3"}, {"VPMADDUBSW X2, X9, X11", "c4 62 31 04 da"}, {"VPMADDUBSW X2, X9, X2", "c4 e2 31 04 d2"}, {"VPMADDUBSW Y11, Y15, Y11", "c4 42 05 04 db"}, {"VPMADDUBSW Y11, Y15, Y2", "c4 c2 05 04 d3"}, {"VPMADDUBSW Y2, Y15, Y11", "c4 62 05 04 da"}, {"VPMADDUBSW Y2, Y15, Y2", "c4 e2 05 04 d2"}, {"VPMADDWD (BX), X9, X11", "c4 61 31 f5 1b|c5 31 f5 1b"}, {"VPMADDWD (BX), X9, X2", "c4 e1 31 f5 13|c5 b1 f5 13"}, {"VPMADDWD (BX), Y15, Y11", "c4 61 05 f5 1b|c5 05 f5 1b"}, {"VPMADDWD (BX), Y15, Y2", "c4 e1 05 f5 13|c5 85 f5 13"}, {"VPMADDWD (R11), X9, X11", "c4 41 31 f5 1b"}, {"VPMADDWD (R11), X9, X2", "c4 c1 31 f5 13"}, {"VPMADDWD (R11), Y15, Y11", "c4 41 05 f5 1b"}, {"VPMADDWD (R11), Y15, Y2", "c4 c1 05 f5 13"}, {"VPMADDWD X11, X9, X11", "c4 41 31 f5 db"}, {"VPMADDWD X11, X9, X2", "c4 c1 31 f5 d3"}, {"VPMADDWD X2, X9, X11", "c4 61 31 f5 da|c5 31 f5 da"}, {"VPMADDWD X2, X9, X2", "c4 e1 31 f5 d2|c5 b1 f5 d2"}, {"VPMADDWD Y11, Y15, Y11", "c4 41 05 f5 db"}, {"VPMADDWD Y11, Y15, Y2", "c4 c1 05 f5 d3"}, {"VPMADDWD Y2, Y15, Y11", "c4 61 05 f5 da|c5 05 f5 da"}, {"VPMADDWD Y2, Y15, Y2", "c4 e1 05 f5 d2|c5 85 f5 d2"}, {"VPMAXSB (BX), X9, X11", "c4 62 31 3c 1b"}, {"VPMAXSB (BX), X9, X2", "c4 e2 31 3c 13"}, {"VPMAXSB (BX), Y15, Y11", "c4 62 05 3c 1b"}, {"VPMAXSB (BX), Y15, Y2", "c4 e2 05 3c 13"}, {"VPMAXSB (R11), X9, X11", "c4 42 31 3c 1b"}, {"VPMAXSB (R11), X9, X2", "c4 c2 31 3c 13"}, {"VPMAXSB (R11), Y15, Y11", "c4 42 05 3c 1b"}, {"VPMAXSB (R11), Y15, Y2", "c4 c2 05 3c 13"}, {"VPMAXSB X11, X9, X11", "c4 42 31 3c db"}, {"VPMAXSB X11, X9, X2", "c4 c2 31 3c d3"}, {"VPMAXSB X2, X9, X11", "c4 62 31 3c da"}, {"VPMAXSB X2, X9, X2", "c4 e2 31 3c d2"}, {"VPMAXSB Y11, Y15, Y11", "c4 42 05 3c db"}, {"VPMAXSB Y11, Y15, Y2", "c4 c2 05 3c d3"}, {"VPMAXSB Y2, Y15, Y11", "c4 62 05 3c da"}, {"VPMAXSB Y2, Y15, Y2", "c4 e2 05 3c d2"}, {"VPMAXSD (BX), X9, X11", "c4 62 31 3d 1b"}, {"VPMAXSD (BX), X9, X2", "c4 e2 31 3d 13"}, {"VPMAXSD (BX), Y15, Y11", "c4 62 05 3d 1b"}, {"VPMAXSD (BX), Y15, Y2", "c4 e2 05 3d 13"}, {"VPMAXSD (R11), X9, X11", "c4 42 31 3d 1b"}, {"VPMAXSD (R11), X9, X2", "c4 c2 31 3d 13"}, {"VPMAXSD (R11), Y15, Y11", "c4 42 05 3d 1b"}, {"VPMAXSD (R11), Y15, Y2", "c4 c2 05 3d 13"}, {"VPMAXSD X11, X9, X11", "c4 42 31 3d db"}, {"VPMAXSD X11, X9, X2", "c4 c2 31 3d d3"}, {"VPMAXSD X2, X9, X11", "c4 62 31 3d da"}, {"VPMAXSD X2, X9, X2", "c4 e2 31 3d d2"}, {"VPMAXSD Y11, Y15, Y11", "c4 42 05 3d db"}, {"VPMAXSD Y11, Y15, Y2", "c4 c2 05 3d d3"}, {"VPMAXSD Y2, Y15, Y11", "c4 62 05 3d da"}, {"VPMAXSD Y2, Y15, Y2", "c4 e2 05 3d d2"}, {"VPMAXSW (BX), X9, X11", "c4 61 31 ee 1b|c5 31 ee 1b"}, {"VPMAXSW (BX), X9, X2", "c4 e1 31 ee 13|c5 b1 ee 13"}, {"VPMAXSW (BX), Y15, Y11", "c4 61 05 ee 1b|c5 05 ee 1b"}, {"VPMAXSW (BX), Y15, Y2", "c4 e1 05 ee 13|c5 85 ee 13"}, {"VPMAXSW (R11), X9, X11", "c4 41 31 ee 1b"}, {"VPMAXSW (R11), X9, X2", "c4 c1 31 ee 13"}, {"VPMAXSW (R11), Y15, Y11", "c4 41 05 ee 1b"}, {"VPMAXSW (R11), Y15, Y2", "c4 c1 05 ee 13"}, {"VPMAXSW X11, X9, X11", "c4 41 31 ee db"}, {"VPMAXSW X11, X9, X2", "c4 c1 31 ee d3"}, {"VPMAXSW X2, X9, X11", "c4 61 31 ee da|c5 31 ee da"}, {"VPMAXSW X2, X9, X2", "c4 e1 31 ee d2|c5 b1 ee d2"}, {"VPMAXSW Y11, Y15, Y11", "c4 41 05 ee db"}, {"VPMAXSW Y11, Y15, Y2", "c4 c1 05 ee d3"}, {"VPMAXSW Y2, Y15, Y11", "c4 61 05 ee da|c5 05 ee da"}, {"VPMAXSW Y2, Y15, Y2", "c4 e1 05 ee d2|c5 85 ee d2"}, {"VPMAXUB (BX), X9, X11", "c4 61 31 de 1b|c5 31 de 1b"}, {"VPMAXUB (BX), X9, X2", "c4 e1 31 de 13|c5 b1 de 13"}, {"VPMAXUB (BX), Y15, Y11", "c4 61 05 de 1b|c5 05 de 1b"}, {"VPMAXUB (BX), Y15, Y2", "c4 e1 05 de 13|c5 85 de 13"}, {"VPMAXUB (R11), X9, X11", "c4 41 31 de 1b"}, {"VPMAXUB (R11), X9, X2", "c4 c1 31 de 13"}, {"VPMAXUB (R11), Y15, Y11", "c4 41 05 de 1b"}, {"VPMAXUB (R11), Y15, Y2", "c4 c1 05 de 13"}, {"VPMAXUB X11, X9, X11", "c4 41 31 de db"}, {"VPMAXUB X11, X9, X2", "c4 c1 31 de d3"}, {"VPMAXUB X2, X9, X11", "c4 61 31 de da|c5 31 de da"}, {"VPMAXUB X2, X9, X2", "c4 e1 31 de d2|c5 b1 de d2"}, {"VPMAXUB Y11, Y15, Y11", "c4 41 05 de db"}, {"VPMAXUB Y11, Y15, Y2", "c4 c1 05 de d3"}, {"VPMAXUB Y2, Y15, Y11", "c4 61 05 de da|c5 05 de da"}, {"VPMAXUB Y2, Y15, Y2", "c4 e1 05 de d2|c5 85 de d2"}, {"VPMAXUD (BX), X9, X11", "c4 62 31 3f 1b"}, {"VPMAXUD (BX), X9, X2", "c4 e2 31 3f 13"}, {"VPMAXUD (BX), Y15, Y11", "c4 62 05 3f 1b"}, {"VPMAXUD (BX), Y15, Y2", "c4 e2 05 3f 13"}, {"VPMAXUD (R11), X9, X11", "c4 42 31 3f 1b"}, {"VPMAXUD (R11), X9, X2", "c4 c2 31 3f 13"}, {"VPMAXUD (R11), Y15, Y11", "c4 42 05 3f 1b"}, {"VPMAXUD (R11), Y15, Y2", "c4 c2 05 3f 13"}, {"VPMAXUD X11, X9, X11", "c4 42 31 3f db"}, {"VPMAXUD X11, X9, X2", "c4 c2 31 3f d3"}, {"VPMAXUD X2, X9, X11", "c4 62 31 3f da"}, {"VPMAXUD X2, X9, X2", "c4 e2 31 3f d2"}, {"VPMAXUD Y11, Y15, Y11", "c4 42 05 3f db"}, {"VPMAXUD Y11, Y15, Y2", "c4 c2 05 3f d3"}, {"VPMAXUD Y2, Y15, Y11", "c4 62 05 3f da"}, {"VPMAXUD Y2, Y15, Y2", "c4 e2 05 3f d2"}, {"VPMAXUW (BX), X9, X11", "c4 62 31 3e 1b"}, {"VPMAXUW (BX), X9, X2", "c4 e2 31 3e 13"}, {"VPMAXUW (BX), Y15, Y11", "c4 62 05 3e 1b"}, {"VPMAXUW (BX), Y15, Y2", "c4 e2 05 3e 13"}, {"VPMAXUW (R11), X9, X11", "c4 42 31 3e 1b"}, {"VPMAXUW (R11), X9, X2", "c4 c2 31 3e 13"}, {"VPMAXUW (R11), Y15, Y11", "c4 42 05 3e 1b"}, {"VPMAXUW (R11), Y15, Y2", "c4 c2 05 3e 13"}, {"VPMAXUW X11, X9, X11", "c4 42 31 3e db"}, {"VPMAXUW X11, X9, X2", "c4 c2 31 3e d3"}, {"VPMAXUW X2, X9, X11", "c4 62 31 3e da"}, {"VPMAXUW X2, X9, X2", "c4 e2 31 3e d2"}, {"VPMAXUW Y11, Y15, Y11", "c4 42 05 3e db"}, {"VPMAXUW Y11, Y15, Y2", "c4 c2 05 3e d3"}, {"VPMAXUW Y2, Y15, Y11", "c4 62 05 3e da"}, {"VPMAXUW Y2, Y15, Y2", "c4 e2 05 3e d2"}, {"VPMINSB (BX), X9, X11", "c4 62 31 38 1b"}, {"VPMINSB (BX), X9, X2", "c4 e2 31 38 13"}, {"VPMINSB (BX), Y15, Y11", "c4 62 05 38 1b"}, {"VPMINSB (BX), Y15, Y2", "c4 e2 05 38 13"}, {"VPMINSB (R11), X9, X11", "c4 42 31 38 1b"}, {"VPMINSB (R11), X9, X2", "c4 c2 31 38 13"}, {"VPMINSB (R11), Y15, Y11", "c4 42 05 38 1b"}, {"VPMINSB (R11), Y15, Y2", "c4 c2 05 38 13"}, {"VPMINSB X11, X9, X11", "c4 42 31 38 db"}, {"VPMINSB X11, X9, X2", "c4 c2 31 38 d3"}, {"VPMINSB X2, X9, X11", "c4 62 31 38 da"}, {"VPMINSB X2, X9, X2", "c4 e2 31 38 d2"}, {"VPMINSB Y11, Y15, Y11", "c4 42 05 38 db"}, {"VPMINSB Y11, Y15, Y2", "c4 c2 05 38 d3"}, {"VPMINSB Y2, Y15, Y11", "c4 62 05 38 da"}, {"VPMINSB Y2, Y15, Y2", "c4 e2 05 38 d2"}, {"VPMINSD (BX), X9, X11", "c4 62 31 39 1b"}, {"VPMINSD (BX), X9, X2", "c4 e2 31 39 13"}, {"VPMINSD (BX), Y15, Y11", "c4 62 05 39 1b"}, {"VPMINSD (BX), Y15, Y2", "c4 e2 05 39 13"}, {"VPMINSD (R11), X9, X11", "c4 42 31 39 1b"}, {"VPMINSD (R11), X9, X2", "c4 c2 31 39 13"}, {"VPMINSD (R11), Y15, Y11", "c4 42 05 39 1b"}, {"VPMINSD (R11), Y15, Y2", "c4 c2 05 39 13"}, {"VPMINSD X11, X9, X11", "c4 42 31 39 db"}, {"VPMINSD X11, X9, X2", "c4 c2 31 39 d3"}, {"VPMINSD X2, X9, X11", "c4 62 31 39 da"}, {"VPMINSD X2, X9, X2", "c4 e2 31 39 d2"}, {"VPMINSD Y11, Y15, Y11", "c4 42 05 39 db"}, {"VPMINSD Y11, Y15, Y2", "c4 c2 05 39 d3"}, {"VPMINSD Y2, Y15, Y11", "c4 62 05 39 da"}, {"VPMINSD Y2, Y15, Y2", "c4 e2 05 39 d2"}, {"VPMINSW (BX), X9, X11", "c4 61 31 ea 1b|c5 31 ea 1b"}, {"VPMINSW (BX), X9, X2", "c4 e1 31 ea 13|c5 b1 ea 13"}, {"VPMINSW (BX), Y15, Y11", "c4 61 05 ea 1b|c5 05 ea 1b"}, {"VPMINSW (BX), Y15, Y2", "c4 e1 05 ea 13|c5 85 ea 13"}, {"VPMINSW (R11), X9, X11", "c4 41 31 ea 1b"}, {"VPMINSW (R11), X9, X2", "c4 c1 31 ea 13"}, {"VPMINSW (R11), Y15, Y11", "c4 41 05 ea 1b"}, {"VPMINSW (R11), Y15, Y2", "c4 c1 05 ea 13"}, {"VPMINSW X11, X9, X11", "c4 41 31 ea db"}, {"VPMINSW X11, X9, X2", "c4 c1 31 ea d3"}, {"VPMINSW X2, X9, X11", "c4 61 31 ea da|c5 31 ea da"}, {"VPMINSW X2, X9, X2", "c4 e1 31 ea d2|c5 b1 ea d2"}, {"VPMINSW Y11, Y15, Y11", "c4 41 05 ea db"}, {"VPMINSW Y11, Y15, Y2", "c4 c1 05 ea d3"}, {"VPMINSW Y2, Y15, Y11", "c4 61 05 ea da|c5 05 ea da"}, {"VPMINSW Y2, Y15, Y2", "c4 e1 05 ea d2|c5 85 ea d2"}, {"VPMINUB (BX), X9, X11", "c4 61 31 da 1b|c5 31 da 1b"}, {"VPMINUB (BX), X9, X2", "c4 e1 31 da 13|c5 b1 da 13"}, {"VPMINUB (BX), Y15, Y11", "c4 61 05 da 1b|c5 05 da 1b"}, {"VPMINUB (BX), Y15, Y2", "c4 e1 05 da 13|c5 85 da 13"}, {"VPMINUB (R11), X9, X11", "c4 41 31 da 1b"}, {"VPMINUB (R11), X9, X2", "c4 c1 31 da 13"}, {"VPMINUB (R11), Y15, Y11", "c4 41 05 da 1b"}, {"VPMINUB (R11), Y15, Y2", "c4 c1 05 da 13"}, {"VPMINUB X11, X9, X11", "c4 41 31 da db"}, {"VPMINUB X11, X9, X2", "c4 c1 31 da d3"}, {"VPMINUB X2, X9, X11", "c4 61 31 da da|c5 31 da da"}, {"VPMINUB X2, X9, X2", "c4 e1 31 da d2|c5 b1 da d2"}, {"VPMINUB Y11, Y15, Y11", "c4 41 05 da db"}, {"VPMINUB Y11, Y15, Y2", "c4 c1 05 da d3"}, {"VPMINUB Y2, Y15, Y11", "c4 61 05 da da|c5 05 da da"}, {"VPMINUB Y2, Y15, Y2", "c4 e1 05 da d2|c5 85 da d2"}, {"VPMINUD (BX), X9, X11", "c4 62 31 3b 1b"}, {"VPMINUD (BX), X9, X2", "c4 e2 31 3b 13"}, {"VPMINUD (BX), Y15, Y11", "c4 62 05 3b 1b"}, {"VPMINUD (BX), Y15, Y2", "c4 e2 05 3b 13"}, {"VPMINUD (R11), X9, X11", "c4 42 31 3b 1b"}, {"VPMINUD (R11), X9, X2", "c4 c2 31 3b 13"}, {"VPMINUD (R11), Y15, Y11", "c4 42 05 3b 1b"}, {"VPMINUD (R11), Y15, Y2", "c4 c2 05 3b 13"}, {"VPMINUD X11, X9, X11", "c4 42 31 3b db"}, {"VPMINUD X11, X9, X2", "c4 c2 31 3b d3"}, {"VPMINUD X2, X9, X11", "c4 62 31 3b da"}, {"VPMINUD X2, X9, X2", "c4 e2 31 3b d2"}, {"VPMINUD Y11, Y15, Y11", "c4 42 05 3b db"}, {"VPMINUD Y11, Y15, Y2", "c4 c2 05 3b d3"}, {"VPMINUD Y2, Y15, Y11", "c4 62 05 3b da"}, {"VPMINUD Y2, Y15, Y2", "c4 e2 05 3b d2"}, {"VPMINUW (BX), X9, X11", "c4 62 31 3a 1b"}, {"VPMINUW (BX), X9, X2", "c4 e2 31 3a 13"}, {"VPMINUW (BX), Y15, Y11", "c4 62 05 3a 1b"}, {"VPMINUW (BX), Y15, Y2", "c4 e2 05 3a 13"}, {"VPMINUW (R11), X9, X11", "c4 42 31 3a 1b"}, {"VPMINUW (R11), X9, X2", "c4 c2 31 3a 13"}, {"VPMINUW (R11), Y15, Y11", "c4 42 05 3a 1b"}, {"VPMINUW (R11), Y15, Y2", "c4 c2 05 3a 13"}, {"VPMINUW X11, X9, X11", "c4 42 31 3a db"}, {"VPMINUW X11, X9, X2", "c4 c2 31 3a d3"}, {"VPMINUW X2, X9, X11", "c4 62 31 3a da"}, {"VPMINUW X2, X9, X2", "c4 e2 31 3a d2"}, {"VPMINUW Y11, Y15, Y11", "c4 42 05 3a db"}, {"VPMINUW Y11, Y15, Y2", "c4 c2 05 3a d3"}, {"VPMINUW Y2, Y15, Y11", "c4 62 05 3a da"}, {"VPMINUW Y2, Y15, Y2", "c4 e2 05 3a d2"}, {"VPMOVSXBW (BX), X11", "c4 62 79 20 1b"}, {"VPMOVSXBW (BX), X2", "c4 e2 79 20 13"}, {"VPMOVSXBW (BX), Y11", "c4 62 7d 20 1b"}, {"VPMOVSXBW (BX), Y2", "c4 e2 7d 20 13"}, {"VPMOVSXBW (R11), X11", "c4 42 79 20 1b"}, {"VPMOVSXBW (R11), X2", "c4 c2 79 20 13"}, {"VPMOVSXBW (R11), Y11", "c4 42 7d 20 1b"}, {"VPMOVSXBW (R11), Y2", "c4 c2 7d 20 13"}, {"VPMOVSXBW X11, X11", "c4 42 79 20 db"}, {"VPMOVSXBW X11, X2", "c4 c2 79 20 d3"}, {"VPMOVSXBW X11, Y11", "c4 42 7d 20 db"}, {"VPMOVSXBW X11, Y2", "c4 c2 7d 20 d3"}, {"VPMOVSXBW X2, X11", "c4 62 79 20 da"}, {"VPMOVSXBW X2, X2", "c4 e2 79 20 d2"}, {"VPMOVSXBW X2, Y11", "c4 62 7d 20 da"}, {"VPMOVSXBW X2, Y2", "c4 e2 7d 20 d2"}, {"VPMULHUW (BX), X9, X11", "c4 61 31 e4 1b|c5 31 e4 1b"}, {"VPMULHUW (BX), X9, X2", "c4 e1 31 e4 13|c5 b1 e4 13"}, {"VPMULHUW (BX), Y15, Y11", "c4 61 05 e4 1b|c5 05 e4 1b"}, {"VPMULHUW (BX), Y15, Y2", "c4 e1 05 e4 13|c5 85 e4 13"}, {"VPMULHUW (R11), X9, X11", "c4 41 31 e4 1b"}, {"VPMULHUW (R11), X9, X2", "c4 c1 31 e4 13"}, {"VPMULHUW (R11), Y15, Y11", "c4 41 05 e4 1b"}, {"VPMULHUW (R11), Y15, Y2", "c4 c1 05 e4 13"}, {"VPMULHUW X11, X9, X11", "c4 41 31 e4 db"}, {"VPMULHUW X11, X9, X2", "c4 c1 31 e4 d3"}, {"VPMULHUW X2, X9, X11", "c4 61 31 e4 da|c5 31 e4 da"}, {"VPMULHUW X2, X9, X2", "c4 e1 31 e4 d2|c5 b1 e4 d2"}, {"VPMULHUW Y11, Y15, Y11", "c4 41 05 e4 db"}, {"VPMULHUW Y11, Y15, Y2", "c4 c1 05 e4 d3"}, {"VPMULHUW Y2, Y15, Y11", "c4 61 05 e4 da|c5 05 e4 da"}, {"VPMULHUW Y2, Y15, Y2", "c4 e1 05 e4 d2|c5 85 e4 d2"}, {"VPMULLW (BX), X9, X11", "c4 61 31 d5 1b|c5 31 d5 1b"}, {"VPMULLW (BX), X9, X2", "c4 e1 31 d5 13|c5 b1 d5 13"}, {"VPMULLW (BX), Y15, Y11", "c4 61 05 d5 1b|c5 05 d5 1b"}, {"VPMULLW (BX), Y15, Y2", "c4 e1 05 d5 13|c5 85 d5 13"}, {"VPMULLW (R11), X9, X11", "c4 41 31 d5 1b"}, {"VPMULLW (R11), X9, X2", "c4 c1 31 d5 13"}, {"VPMULLW (R11), Y15, Y11", "c4 41 05 d5 1b"}, {"VPMULLW (R11), Y15, Y2", "c4 c1 05 d5 13"}, {"VPMULLW X11, X9, X11", "c4 41 31 d5 db"}, {"VPMULLW X11, X9, X2", "c4 c1 31 d5 d3"}, {"VPMULLW X2, X9, X11", "c4 61 31 d5 da|c5 31 d5 da"}, {"VPMULLW X2, X9, X2", "c4 e1 31 d5 d2|c5 b1 d5 d2"}, {"VPMULLW Y11, Y15, Y11", "c4 41 05 d5 db"}, {"VPMULLW Y11, Y15, Y2", "c4 c1 05 d5 d3"}, {"VPMULLW Y2, Y15, Y11", "c4 61 05 d5 da|c5 05 d5 da"}, {"VPMULLW Y2, Y15, Y2", "c4 e1 05 d5 d2|c5 85 d5 d2"}, {"VPSLLVD (BX), X9, X11", "c4 62 31 47 1b"}, {"VPSLLVD (BX), X9, X2", "c4 e2 31 47 13"}, {"VPSLLVD (BX), Y15, Y11", "c4 62 05 47 1b"}, {"VPSLLVD (BX), Y15, Y2", "c4 e2 05 47 13"}, {"VPSLLVD (R11), X9, X11", "c4 42 31 47 1b"}, {"VPSLLVD (R11), X9, X2", "c4 c2 31 47 13"}, {"VPSLLVD (R11), Y15, Y11", "c4 42 05 47 1b"}, {"VPSLLVD (R11), Y15, Y2", "c4 c2 05 47 13"}, {"VPSLLVD X11, X9, X11", "c4 42 31 47 db"}, {"VPSLLVD X11, X9, X2", "c4 c2 31 47 d3"}, {"VPSLLVD X2, X9, X11", "c4 62 31 47 da"}, {"VPSLLVD X2, X9, X2", "c4 e2 31 47 d2"}, {"VPSLLVD Y11, Y15, Y11", "c4 42 05 47 db"}, {"VPSLLVD Y11, Y15, Y2", "c4 c2 05 47 d3"}, {"VPSLLVD Y2, Y15, Y11", "c4 62 05 47 da"}, {"VPSLLVD Y2, Y15, Y2", "c4 e2 05 47 d2"}, {"VPSLLVQ (BX), X9, X11", "c4 62 b1 47 1b"}, {"VPSLLVQ (BX), X9, X2", "c4 e2 b1 47 13"}, {"VPSLLVQ (BX), Y15, Y11", "c4 62 85 47 1b"}, {"VPSLLVQ (BX), Y15, Y2", "c4 e2 85 47 13"}, {"VPSLLVQ (R11), X9, X11", "c4 42 b1 47 1b"}, {"VPSLLVQ (R11), X9, X2", "c4 c2 b1 47 13"}, {"VPSLLVQ (R11), Y15, Y11", "c4 42 85 47 1b"}, {"VPSLLVQ (R11), Y15, Y2", "c4 c2 85 47 13"}, {"VPSLLVQ X11, X9, X11", "c4 42 b1 47 db"}, {"VPSLLVQ X11, X9, X2", "c4 c2 b1 47 d3"}, {"VPSLLVQ X2, X9, X11", "c4 62 b1 47 da"}, {"VPSLLVQ X2, X9, X2", "c4 e2 b1 47 d2"}, {"VPSLLVQ Y11, Y15, Y11", "c4 42 85 47 db"}, {"VPSLLVQ Y11, Y15, Y2", "c4 c2 85 47 d3"}, {"VPSLLVQ Y2, Y15, Y11", "c4 62 85 47 da"}, {"VPSLLVQ Y2, Y15, Y2", "c4 e2 85 47 d2"}, {"VPSRAVD (BX), X9, X11", "c4 62 31 46 1b"}, {"VPSRAVD (BX), X9, X2", "c4 e2 31 46 13"}, {"VPSRAVD (BX), Y15, Y11", "c4 62 05 46 1b"}, {"VPSRAVD (BX), Y15, Y2", "c4 e2 05 46 13"}, {"VPSRAVD (R11), X9, X11", "c4 42 31 46 1b"}, {"VPSRAVD (R11), X9, X2", "c4 c2 31 46 13"}, {"VPSRAVD (R11), Y15, Y11", "c4 42 05 46 1b"}, {"VPSRAVD (R11), Y15, Y2", "c4 c2 05 46 13"}, {"VPSRAVD X11, X9, X11", "c4 42 31 46 db"}, {"VPSRAVD X11, X9, X2", "c4 c2 31 46 d3"}, {"VPSRAVD X2, X9, X11", "c4 62 31 46 da"}, {"VPSRAVD X2, X9, X2", "c4 e2 31 46 d2"}, {"VPSRAVD Y11, Y15, Y11", "c4 42 05 46 db"}, {"VPSRAVD Y11, Y15, Y2", "c4 c2 05 46 d3"}, {"VPSRAVD Y2, Y15, Y11", "c4 62 05 46 da"}, {"VPSRAVD Y2, Y15, Y2", "c4 e2 05 46 d2"}, {"VPSRLVD (BX), X9, X11", "c4 62 31 45 1b"}, {"VPSRLVD (BX), X9, X2", "c4 e2 31 45 13"}, {"VPSRLVD (BX), Y15, Y11", "c4 62 05 45 1b"}, {"VPSRLVD (BX), Y15, Y2", "c4 e2 05 45 13"}, {"VPSRLVD (R11), X9, X11", "c4 42 31 45 1b"}, {"VPSRLVD (R11), X9, X2", "c4 c2 31 45 13"}, {"VPSRLVD (R11), Y15, Y11", "c4 42 05 45 1b"}, {"VPSRLVD (R11), Y15, Y2", "c4 c2 05 45 13"}, {"VPSRLVD X11, X9, X11", "c4 42 31 45 db"}, {"VPSRLVD X11, X9, X2", "c4 c2 31 45 d3"}, {"VPSRLVD X2, X9, X11", "c4 62 31 45 da"}, {"VPSRLVD X2, X9, X2", "c4 e2 31 45 d2"}, {"VPSRLVD Y11, Y15, Y11", "c4 42 05 45 db"}, {"VPSRLVD Y11, Y15, Y2", "c4 c2 05 45 d3"}, {"VPSRLVD Y2, Y15, Y11", "c4 62 05 45 da"}, {"VPSRLVD Y2, Y15, Y2", "c4 e2 05 45 d2"}, {"VPSRLVQ (BX), X9, X11", "c4 62 b1 45 1b"}, {"VPSRLVQ (BX), X9, X2", "c4 e2 b1 45 13"}, {"VPSRLVQ (BX), Y15, Y11", "c4 62 85 45 1b"}, {"VPSRLVQ (BX), Y15, Y2", "c4 e2 85 45 13"}, {"VPSRLVQ (R11), X9, X11", "c4 42 b1 45 1b"}, {"VPSRLVQ (R11), X9, X2", "c4 c2 b1 45 13"}, {"VPSRLVQ (R11), Y15, Y11", "c4 42 85 45 1b"}, {"VPSRLVQ (R11), Y15, Y2", "c4 c2 85 45 13"}, {"VPSRLVQ X11, X9, X11", "c4 42 b1 45 db"}, {"VPSRLVQ X11, X9, X2", "c4 c2 b1 45 d3"}, {"VPSRLVQ X2, X9, X11", "c4 62 b1 45 da"}, {"VPSRLVQ X2, X9, X2", "c4 e2 b1 45 d2"}, {"VPSRLVQ Y11, Y15, Y11", "c4 42 85 45 db"}, {"VPSRLVQ Y11, Y15, Y2", "c4 c2 85 45 d3"}, {"VPSRLVQ Y2, Y15, Y11", "c4 62 85 45 da"}, {"VPSRLVQ Y2, Y15, Y2", "c4 e2 85 45 d2"}, {"VPSUBB (BX), X9, X11", "c4 61 31 f8 1b|c5 31 f8 1b"}, {"VPSUBB (BX), X9, X2", "c4 e1 31 f8 13|c5 b1 f8 13"}, {"VPSUBB (BX), Y15, Y11", "c4 61 05 f8 1b|c5 05 f8 1b"}, {"VPSUBB (BX), Y15, Y2", "c4 e1 05 f8 13|c5 85 f8 13"}, {"VPSUBB (R11), X9, X11", "c4 41 31 f8 1b"}, {"VPSUBB (R11), X9, X2", "c4 c1 31 f8 13"}, {"VPSUBB (R11), Y15, Y11", "c4 41 05 f8 1b"}, {"VPSUBB (R11), Y15, Y2", "c4 c1 05 f8 13"}, {"VPSUBB X11, X9, X11", "c4 41 31 f8 db"}, {"VPSUBB X11, X9, X2", "c4 c1 31 f8 d3"}, {"VPSUBB X2, X9, X11", "c4 61 31 f8 da|c5 31 f8 da"}, {"VPSUBB X2, X9, X2", "c4 e1 31 f8 d2|c5 b1 f8 d2"}, {"VPSUBB Y11, Y15, Y11", "c4 41 05 f8 db"}, {"VPSUBB Y11, Y15, Y2", "c4 c1 05 f8 d3"}, {"VPSUBB Y2, Y15, Y11", "c4 61 05 f8 da|c5 05 f8 da"}, {"VPSUBB Y2, Y15, Y2", "c4 e1 05 f8 d2|c5 85 f8 d2"}, {"VPSUBW (BX), X9, X11", "c4 61 31 f9 1b|c5 31 f9 1b"}, {"VPSUBW (BX), X9, X2", "c4 e1 31 f9 13|c5 b1 f9 13"}, {"VPSUBW (BX), Y15, Y11", "c4 61 05 f9 1b|c5 05 f9 1b"}, {"VPSUBW (BX), Y15, Y2", "c4 e1 05 f9 13|c5 85 f9 13"}, {"VPSUBW (R11), X9, X11", "c4 41 31 f9 1b"}, {"VPSUBW (R11), X9, X2", "c4 c1 31 f9 13"}, {"VPSUBW (R11), Y15, Y11", "c4 41 05 f9 1b"}, {"VPSUBW (R11), Y15, Y2", "c4 c1 05 f9 13"}, {"VPSUBW X11, X9, X11", "c4 41 31 f9 db"}, {"VPSUBW X11, X9, X2", "c4 c1 31 f9 d3"}, {"VPSUBW X2, X9, X11", "c4 61 31 f9 da|c5 31 f9 da"}, {"VPSUBW X2, X9, X2", "c4 e1 31 f9 d2|c5 b1 f9 d2"}, {"VPSUBW Y11, Y15, Y11", "c4 41 05 f9 db"}, {"VPSUBW Y11, Y15, Y2", "c4 c1 05 f9 d3"}, {"VPSUBW Y2, Y15, Y11", "c4 61 05 f9 da|c5 05 f9 da"}, {"VPSUBW Y2, Y15, Y2", "c4 e1 05 f9 d2|c5 85 f9 d2"}, {"VSHUFPS $7, (BX), X9, X11", "c4 61 30 c6 1b 07|c5 30 c6 1b 07"}, {"VSHUFPS $7, (BX), X9, X2", "c4 e1 30 c6 13 07|c5 b0 c6 13 07"}, {"VSHUFPS $7, (BX), Y15, Y11", "c4 61 04 c6 1b 07|c5 04 c6 1b 07"}, {"VSHUFPS $7, (BX), Y15, Y2", "c4 e1 04 c6 13 07|c5 84 c6 13 07"}, {"VSHUFPS $7, (R11), X9, X11", "c4 41 30 c6 1b 07"}, {"VSHUFPS $7, (R11), X9, X2", "c4 c1 30 c6 13 07"}, {"VSHUFPS $7, (R11), Y15, Y11", "c4 41 04 c6 1b 07"}, {"VSHUFPS $7, (R11), Y15, Y2", "c4 c1 04 c6 13 07"}, {"VSHUFPS $7, X11, X9, X11", "c4 41 30 c6 db 07"}, {"VSHUFPS $7, X11, X9, X2", "c4 c1 30 c6 d3 07"}, {"VSHUFPS $7, X2, X9, X11", "c4 61 30 c6 da 07|c5 30 c6 da 07"}, {"VSHUFPS $7, X2, X9, X2", "c4 e1 30 c6 d2 07|c5 b0 c6 d2 07"}, {"VSHUFPS $7, Y11, Y15, Y11", "c4 41 04 c6 db 07"}, {"VSHUFPS $7, Y11, Y15, Y2", "c4 c1 04 c6 d3 07"}, {"VSHUFPS $7, Y2, Y15, Y11", "c4 61 04 c6 da 07|c5 04 c6 da 07"}, {"VSHUFPS $7, Y2, Y15, Y2", "c4 e1 04 c6 d2 07|c5 84 c6 d2 07"}, } // TestAmd64VexParityCorpus assembles every corpus line and requires the // bytes to match one of the alternatives go tool asm accepts. func TestAmd64VexParityCorpus(t *testing.T) { for _, tc := range amd64VexParityCorpus { fn := firstText(t, "TEXT ·p(SB), 4, $0\n\t"+tc.line+"\n") code, _, err := Assemble(fn) if err != nil { t.Errorf("%s: %v", tc.line, err) continue } got := hexBytes(code) if !slices.Contains(strings.Split(tc.want, "|"), got) { t.Errorf("%s: got %s, want one of %s", tc.line, got, tc.want) } } }