llvm/llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt

# RUN: llvm-mc --disassemble %s -triple powerpc64-unknown-linux-gnu \
# RUN:   -mcpu=pwr10 | FileCheck %s

# CHECK: paddi 1, 2, 8589934591, 0
0x06 0x01 0xff 0xff 0x38 0x22 0xff 0xff

# CHECK: paddi 1, 0, -8589934592, 1
0x06 0x12 0x00 0x00 0x38 0x20 0x00 0x00

# CHECK: pli 1, -8589934592
0x06 0x02 0x00 0x00 0x38 0x20 0x00 0x00

# CHECK: pli 1, 8589934591
0x06 0x01 0xff 0xff 0x38 0x20 0xff 0xff

# Largest positive displacement.
# CHECK: plxv 31, 8589934591(3), 0
0x04 0x01 0xff 0xff 0xcb 0xe3 0xff 0xff

# Smallest non-zero displacement.
# CHECK: plxv 15, 1(31), 0
0x04 0x00 0x00 0x00 0xc9 0xff 0x00 0x01

# Largest negative displacement.
# CHECK: plxv 31, -8589934592(0), 1
0x04 0x12 0x00 0x00 0xcb 0xe0 0x00 0x00

# CHECK: pstxv 1, 8589934591(3), 0
0x04 0x01 0xff 0xff 0xd8 0x23 0xff 0xff

# CHECK: pstxv 33, 8589934591(0), 1
0x04 0x11 0xff 0xff 0xdc 0x20 0xff 0xff

# CHECK: xxmfacc 0
0x7c 0x00 0x01 0x62

# CHECK: xxmtacc 0
0x7c 0x01 0x01 0x62

# CHECK: xxsetaccz 0
0x7c 0x03 0x01 0x62

# CHECK: pmxvf16ger2 0, 1, 2, 4, 4, 2
0x07 0x90 0x80 0x44 0xec 0x01 0x10 0x98

# CHECK: pmxvf16ger2pp 0, 1, 2, 4, 4, 2
0x07 0x90 0x80 0x44 0xec 0x01 0x10 0x90

# CHECK: pmxvf16ger2pn 0, 1, 2, 4, 4, 2
0x07 0x90 0x80 0x44 0xec 0x01 0x14 0x90

# CHECK: pmxvf16ger2np 0, 1, 2, 4, 4, 2
0x07 0x90 0x80 0x44 0xec 0x01 0x12 0x90

# CHECK: pmxvf16ger2nn 0, 1, 2, 4, 4, 2
0x07 0x90 0x80 0x44 0xec 0x01 0x16 0x90

# CHECK: pmxvf32ger 0, 1, 2, 4, 4
0x07 0x90 0x00 0x44 0xec 0x01 0x10 0xd8

# CHECK: pmxvf32gerpp 0, 1, 2, 4, 4
0x07 0x90 0x00 0x44 0xec 0x01 0x10 0xd0

# CHECK: pmxvf32gerpn 0, 1, 2, 4, 4
0x07 0x90 0x00 0x44 0xec 0x01 0x14 0xd0

# CHECK: pmxvf32gernp 0, 1, 2, 4, 4
0x07 0x90 0x00 0x44 0xec 0x01 0x12 0xd0

# CHECK: pmxvf32gernn 0, 1, 2, 4, 4
0x07 0x90 0x00 0x44 0xec 0x01 0x16 0xd0

# CHECK: pmxvf64ger 0, 0, 2, 4, 3
0x07 0x90 0x00 0x4c 0xec 0x00 0x11 0xd8

# CHECK: pmxvf64gerpp 0, 2, 2, 4, 3
0x07 0x90 0x00 0x4c 0xec 0x02 0x11 0xd0

# CHECK: pmxvf64gerpn 0, 4, 2, 4, 3
0x07 0x90 0x00 0x4c 0xec 0x04 0x15 0xd0

# CHECK: pmxvf64gernp 0, 62, 2, 4, 3
0x07 0x90 0x00 0x4c 0xec 0x1e 0x13 0xd4

# CHECK: pmxvf64gernn 0, 30, 2, 4, 3
0x07 0x90 0x00 0x4c 0xec 0x1e 0x17 0xd0

# CHECK: pmxvi4ger8 0, 1, 2, 4, 4, 4
0x07 0x90 0x04 0x44 0xec 0x01 0x11 0x18

# CHECK: pmxvi4ger8pp 0, 1, 2, 4, 4, 4
0x07 0x90 0x04 0x44 0xec 0x01 0x11 0x10

# CHECK: pmxvi8ger4 0, 1, 2, 4, 4, 4
0x07 0x90 0x40 0x44 0xec 0x01 0x10 0x18

# CHECK: pmxvi8ger4pp 0, 1, 2, 4, 4, 4
0x07 0x90 0x40 0x44 0xec 0x01 0x10 0x10

# CHECK: pmxvi16ger2s 0, 1, 2, 4, 4, 2
0x07 0x90 0x80 0x44 0xec 0x01 0x11 0x58

# CHECK: pmxvi16ger2spp 0, 1, 2, 4, 4, 2
0x07 0x90 0x80 0x44 0xec 0x01 0x11 0x50

# CHECK: xvf16ger2 0, 1, 2
0xec 0x01 0x10 0x98

# CHECK: xvf16ger2pp 0, 1, 2
0xec 0x01 0x10 0x90

# CHECK: xvf16ger2pn 0, 1, 2
0xec 0x01 0x14 0x90

# CHECK: xvf16ger2np 0, 1, 2
0xec 0x01 0x12 0x90

# CHECK: xvf16ger2nn 0, 1, 2
0xec 0x01 0x16 0x90

# CHECK: xvf32ger 0, 1, 2
0xec 0x01 0x10 0xd8

# CHECK: xvf32gerpp 0, 1, 2
0xec 0x01 0x10 0xd0

# CHECK: xvf32gerpn 0, 1, 2
0xec 0x01 0x14 0xd0

# CHECK: xvf32gernp 0, 1, 2
0xec 0x01 0x12 0xd0

# CHECK: xvf32gernn 0, 1, 2
0xec 0x01 0x16 0xd0

# CHECK: xvf64ger 0, 0, 2
0xec 0x00 0x11 0xd8

# CHECK: xvf64gerpp 0, 2, 2
0xec 0x02 0x11 0xd0

# CHECK: xvf64gerpn 0, 62, 2
0xec 0x1e 0x15 0xd4

# CHECK: xvf64gernp 0, 0, 2
0xec 0x00 0x13 0xd0

# CHECK: xvf64gernn 0, 0, 2
0xec 0x00 0x17 0xd0

# CHECK: xvi4ger8 0, 1, 2
0xec 0x01 0x11 0x18

# CHECK: xvi4ger8pp 0, 1, 2
0xec 0x01 0x11 0x10

# CHECK: xvi8ger4 0, 1, 2
0xec 0x01 0x10 0x18

# CHECK: xvi8ger4pp 0, 1, 2
0xec 0x01 0x10 0x10

# CHECK: xvi16ger2s 0, 1, 2
0xec 0x01 0x11 0x58

# CHECK: xvi16ger2spp 0, 1, 2
0xec 0x01 0x11 0x50

# CHECK: xvbf16ger2 2, 33, 34
0xed 0x01 0x11 0x9e

# CHECK: xvbf16ger2pp 1, 33, 34
0xec 0x81 0x11 0x96

# CHECK: xvbf16ger2pn 2, 33, 34
0xed 0x01 0x15 0x96

# CHECK: xvbf16ger2np 1, 33, 34
0xec 0x81 0x13 0x96

# CHECK: xvbf16ger2nn 2, 33, 34
0xed 0x01 0x17 0x96

# CHECK: pmxvbf16ger2 2, 33, 34, 4, 4, 2
0x07 0x90 0x80 0x44 0xed 0x01 0x11 0x9e

# CHECK: pmxvbf16ger2pp 1, 33, 34, 4, 4, 2
0x07 0x90 0x80 0x44 0xec 0x81 0x11 0x96

# CHECK: pmxvbf16ger2pn 2, 33, 34, 4, 4, 2
0x07 0x90 0x80 0x44 0xed 0x01 0x15 0x96

# CHECK: pmxvbf16ger2np 1, 33, 34, 4, 4, 2
0x07 0x90 0x80 0x44 0xec 0x81 0x13 0x96

# CHECK: pmxvbf16ger2nn 2, 33, 34, 4, 4, 2
0x07 0x90 0x80 0x44 0xed 0x01 0x17 0x96

# CHECK: xvi8ger4spp 1, 33, 34
0xec 0x81 0x13 0x1e

# CHECK: xvi16ger2 1, 33, 34
0xec 0x81 0x12 0x5e

# CHECK: xvi16ger2pp 1, 33, 34
0xec 0x81 0x13 0x5e

# CHECK: pmxvi8ger4spp 1, 33, 34, 4, 4, 8
0x07 0x90 0x80 0x44 0xec 0x81 0x13 0x1e

# CHECK: pmxvi16ger2 1, 33, 34, 4, 4, 2
0x07 0x90 0x80 0x44 0xec 0x81 0x12 0x5e

# CHECK: pmxvi16ger2pp 1, 33, 34, 4, 4, 2
0x07 0x90 0x80 0x44 0xec 0x81 0x13 0x5e

# CHECK: lxvp 2, 32(4)
0x18 0x44 0x00 0x20

# CHECK: plxvp 2, -8589934592(0), 1
0x04 0x12 0x00 0x00 0xe8 0x40 0x00 0x00

# CHECK: plxvp 34, 8589934591(3), 0
0x04 0x01 0xff 0xff 0xe8 0x63 0xff 0xff

# CHECK: stxvp 2, 32(4)
0x18 0x44 0x00 0x21

# CHECK: pstxvp 2, -8589934592(0), 1
0x04 0x12 0x00 0x00 0xf8 0x40 0x00 0x00

# CHECK: pstxvp 34, 8589934591(3), 0
0x04 0x01 0xff 0xff 0xf8 0x63 0xff 0xff

# CHECK: lxvpx 2, 3, 4
0x7c 0x43 0x22 0x9a

# CHECK: stxvpx 34, 6, 4
0x7c 0x66 0x23 0x9a

# CHECK: pstfs 1, -134217728(3), 0
0x06 0x03 0xf8 0x00 0xd0 0x23 0x00 0x00

# CHECK: pstfs 1, 134217727(0), 1
0x06 0x10 0x07 0xff 0xd0 0x20 0xff 0xff

# CHECK: pstfd 1, -134217728(3), 0
0x06 0x03 0xf8 0x00 0xd8 0x23 0x00 0x00

# CHECK: pstfd 1, 134217727(0), 1
0x06 0x10 0x07 0xff 0xd8 0x20 0xff 0xff

# CHECK: pstxssp 1, -134217728(3), 0
0x04 0x03 0xf8 0x00 0xbc 0x23 0x00 0x00

# CHECK: pstxssp 1, 134217727(0), 1
0x04 0x10 0x07 0xff 0xbc 0x20 0xff 0xff

# CHECK: pstxsd 1, -134217728(3), 0
0x04 0x03 0xf8 0x00 0xb8 0x23 0x00 0x00

# CHECK: pstxsd 1, 134217727(0), 1
0x04 0x10 0x07 0xff 0xb8 0x20 0xff 0xff

# CHECK: plfs 1, -8589934592(3), 0
0x06 0x02 0x00 0x00 0xc0 0x23 0x00 0x00

# CHECK: plfs 1, 8589934591(0), 1
0x06 0x11 0xff 0xff 0xc0 0x20 0xff 0xff

# CHECK: plfd 1, -8589934592(3), 0
0x06 0x02 0x00 0x00 0xc8 0x23 0x00 0x00

# CHECK: plfd 1, 8589934591(0), 1
0x06 0x11 0xff 0xff 0xc8 0x20 0xff 0xff

# CHECK: plxssp 1, -8589934592(3), 0
0x04 0x02 0x00 0x00 0xac 0x23 0x00 0x00

# CHECK: plxssp 1, 8589934591(0), 1
0x04 0x11 0xff 0xff 0xac 0x20 0xff 0xff

# CHECK: plxsd 1, -8589934592(3), 0
0x04 0x02 0x00 0x00 0xa8 0x23 0x00 0x00

# CHECK: plxsd 1, 8589934591(0), 1
0x04 0x11 0xff 0xff 0xa8 0x20 0xff 0xff

# CHECK: pstb 1, -8589934592(3), 0
0x06 0x02 0x00 0x00 0x98 0x23 0x00 0x00

# CHECK: pstb 1, 8589934591(0), 1
0x06 0x11 0xff 0xff 0x98 0x20 0xff 0xff

# CHECK: psth 1, -8589934592(3), 0
0x06 0x02 0x00 0x00 0xb0 0x23 0x00 0x00

# CHECK: psth 1, 8589934591(0), 1
0x06 0x11 0xff 0xff 0xb0 0x20 0xff 0xff

# CHECK: pstw 1, -8589934592(3), 0
0x06 0x02 0x00 0x00 0x90 0x23 0x00 0x00

# CHECK: pstw 1, 8589934591(0), 1
0x06 0x11 0xff 0xff 0x90 0x20 0xff 0xff

# CHECK: pstd 1, -8589934592(3), 0
0x04 0x02 0x00 0x00 0xf4 0x23 0x00 0x00

# CHECK: pstd 1, 8589934591(0), 1
0x04 0x11 0xff 0xff 0xf4 0x20 0xff 0xff

# CHECK: plbz 1, 8589934591(3), 0
0x06 0x01 0xff 0xff 0x88 0x23 0xff 0xff

# CHECK: plbz 1, -8589934592(0), 1
0x06 0x12 0x00 0x00 0x88 0x20 0x00 0x00

# CHECK: plhz 1, 8589934591(3), 0
0x06 0x01 0xff 0xff 0xa0 0x23 0xff 0xff

# CHECK: plhz 1, -8589934592(0), 1
0x06 0x12 0x00 0x00 0xa0 0x20 0x00 0x00

# CHECK: plha 1, 8589934591(3), 0
0x06 0x01 0xff 0xff 0xa8 0x23 0xff 0xff

# CHECK: plha 1, -8589934592(0), 1
0x06 0x12 0x00 0x00 0xa8 0x20 0x00 0x00

# CHECK: plwz 1, 8589934591(3), 0
0x06 0x01 0xff 0xff 0x80 0x23 0xff 0xff

# CHECK: plwz 1, -8589934592(0), 1
0x06 0x12 0x00 0x00 0x80 0x20 0x00 0x00

# CHECK: plwa 1, -8589934592(3), 0
0x04 0x02 0x00 0x00 0xa4 0x23 0x00 0x00

# CHECK: plwa 1, 8589934591(0), 1
0x04 0x11 0xff 0xff 0xa4 0x20 0xff 0xff

# CHECK: pld 1, -8589934592(3), 0
0x04 0x02 0x00 0x00 0xe4 0x23 0x00 0x00

# CHECK: pld 1, 8589934591(0), 1
0x04 0x11 0xff 0xff 0xe4 0x20 0xff 0xff

# CHECK: vpdepd 1, 2, 0
0x10 0x22 0x05 0xcd

# CHECK: vpextd 1, 2, 0
0x10 0x22 0x05 0x8d

# CHECK: pdepd 1, 2, 4
0x7c 0x41 0x21 0x38

# CHECK: pextd 1, 2, 4
0x7c 0x41 0x21 0x78

# CHECK: vcfuged 1, 2, 4
0x10 0x22 0x25 0x4d

# CHECK: cfuged 1, 2, 4
0x7c 0x41 0x21 0xb8

# CHECK: vgnb 1, 2, 2
0x10 0x22 0x14 0xcc

# CHECK: xxeval 32, 1, 2, 3, 2
0x05 0x00 0x00 0x02 0x88 0x01 0x10 0xd1

# CHECK: lxvkq 63, 31
0xf3 0xff 0xfa 0xd1

# CHECK: vclzdm 1, 2, 3
0x10 0x22 0x1f 0x84

# CHECK: vctzdm 1, 2, 3
0x10 0x22 0x1f 0xc4

# CHECK: cntlzdm 1, 3, 2
0x7c 0x61 0x10 0x76

# CHECK: cnttzdm 1, 3, 2
0x7c 0x61 0x14 0x76

# CHECK: xxgenpcvbm 0, 1, 2
0xf0 0x02 0x0f 0x28

# CHECK: xxgenpcvhm 0, 1, 2
0xf0 0x02 0x0f 0x2a

# CHECK: xxgenpcvwm 0, 1, 2
0xf0 0x02 0x0f 0x68

# CHECK: xxgenpcvdm 0, 1, 2
0xf0 0x02 0x0f 0x6a

# CHECK: vclrlb 1, 4, 3
0x10 0x24 0x19 0x8d

# CHECK: vclrrb 1, 4, 3
0x10 0x24 0x19 0xcd

# Boundary conditions of 8RR_DForm_IMM32_XT6's immediates
# CHECK: xxspltiw 63, 4294901760
0x05 0x00 0xff 0xff 0x83 0xe7 0x00 0x00

# CHECK: xxspltiw 63, 65535
0x05 0x00 0x00 0x00 0x83 0xe7 0xff 0xff

# CHECK: xxspltiw 63, 4294967295
0x05 0x00 0xff 0xff 0x83 0xe7 0xff 0xff

# CHECK: xxspltidp 63, 4294967295
0x05 0x00 0xff 0xff 0x83 0xe5 0xff 0xff

# Boundary conditions of 8RR_DForm_IMM32_XT6_IX's immediates
# CHECK: xxsplti32dx 63, 1, 4294901760
0x05 0x00 0xff 0xff 0x83 0xe3 0x00 0x00

# CHECK: xxsplti32dx 63, 1, 65535
0x05 0x00 0x00 0x00 0x83 0xe3 0xff 0xff

# CHECK: xxsplti32dx 63, 1, 4294967295
0x05 0x00 0xff 0xff 0x83 0xe3 0xff 0xff

# CHECK: xxpermx 6, 63, 21, 34, 2
0x05 0x00 0x00 0x02 0x88 0xdf 0xa8 0x8c

# CHECK: brh 1, 2
0x7c 0x41 0x01 0xb6

# CHECK: brw 1, 2
0x7c 0x41 0x01 0x36

# CHECK: brd 1, 2
0x7c 0x41 0x01 0x76

# CHECK: xxblendvb 6, 63, 21, 34
0x05 0x00 0x00 0x00 0x84 0xdf 0xa8 0x8c

# CHECK: xxblendvh 6, 63, 21, 34
0x05 0x00 0x00 0x00 0x84 0xdf 0xa8 0x9c

# CHECK: xxblendvw 6, 63, 21, 34
0x05 0x00 0x00 0x00 0x84 0xdf 0xa8 0xac

# CHECK: xxblendvd 6, 63, 21, 34
0x05 0x00 0x00 0x00 0x84 0xdf 0xa8 0xbc

# CHECK: setbc 21, 11
0x7e 0xab 0x03 0x00

# CHECK: setbcr 21, 11
0x7e 0xab 0x03 0x40

# CHECK: setnbc 21, 11
0x7e 0xab 0x03 0x80

# CHECK: setnbcr 21, 11
0x7e 0xab 0x03 0xc0

# CHECK: vsldbi 2, 3, 4, 5
0x10 0x43 0x21 0x56

# CHECK: vsrdbi 2, 3, 4, 5
0x10 0x43 0x23 0x56

# CHECK: vmulld 1, 2, 3
0x10 0x22 0x19 0xc9

# CHECK: vmodsq 3, 4, 5
0x10 0x64 0x2f 0x0b

# CHECK: vmodsw 21, 11, 10
0x12 0xab 0x57 0x8b

# CHECK: vmoduw 21, 11, 10
0x12 0xab 0x56 0x8b

# CHECK: vmodsd 21, 11, 10
0x12 0xab 0x57 0xcb

# CHECK: vmodud 21, 11, 10
0x12 0xab 0x56 0xcb

# CHECK: vdivsw 21, 11, 10
0x12 0xab 0x51 0x8b

# CHECK: vdivuw 21, 11, 10
0x12 0xab 0x50 0x8b

# CHECK: vdivsd 21, 11, 10
0x12 0xab 0x51 0xcb

# CHECK: vdivud 21, 11, 10
0x12 0xab 0x50 0xcb

# CHECK: vmulhsw 1, 2, 3
0x10 0x22 0x1b 0x89

# CHECK: vmulhuw 1, 2, 3
0x10 0x22 0x1a 0x89

# CHECK: vmulhsd 1, 2, 3
0x10 0x22 0x1b 0xc9

# CHECK: vmulhud 1, 2, 3
0x10 0x22 0x1a 0xc9

# CHECK: vdivesw 21, 11, 10
0x12 0xab 0x53 0x8b

# CHECK: vdiveuw 21, 11, 10
0x12 0xab 0x52 0x8b

# CHECK: vdivesd 21, 11, 10
0x12 0xab 0x53 0xcb

# CHECK: vdiveud 21, 11, 10
0x12 0xab 0x52 0xcb

# CHECK: vinsw 2, 3, 12
0x10 0x4c 0x18 0xcf

# CHECK: vinsd 2, 3, 12
0x10 0x4c 0x19 0xcf

# CHECK: vinsbvlx 1, 3, 5
0x10 0x23 0x28 0x0f

# CHECK: vinsbvrx 1, 3, 5
0x10 0x23 0x29 0x0f

# CHECK: vinshvlx 1, 3, 5
0x10 0x23 0x28 0x4f

# CHECK: vinshvrx 1, 3, 5
0x10 0x23 0x29 0x4f

# CHECK: vinswvlx 1, 3, 5
0x10 0x23 0x28 0x8f

# CHECK: vinswvrx 1, 3, 5
0x10 0x23 0x29 0x8f

# CHECK: vinsblx 1, 2, 3
0x10 0x22 0x1a 0x0f

# CHECK: vinsbrx 1, 2, 3
0x10 0x22 0x1b 0x0f

# CHECK: vinshlx 1, 2, 3
0x10 0x22 0x1a 0x4f

# CHECK: vinshrx 1, 2, 3
0x10 0x22 0x1b 0x4f

# CHECK: vinswlx 1, 2, 3
0x10 0x22 0x1a 0x8f

# CHECK: vinswrx 1, 2, 3
0x10 0x22 0x1b 0x8f

# CHECK: vinsdlx 1, 2, 3
0x10 0x22 0x1a 0xcf

# CHECK: vinsdrx 1, 2, 3
0x10 0x22 0x1b 0xcf

# CHECK: vextdubvlx 1, 2, 3, 3
0x10 0x22 0x18 0xd8

# CHECK: vextdubvrx 1, 2, 3, 3
0x10 0x22 0x18 0xd9

# CHECK: vextduhvlx 1, 2, 3, 3
0x10 0x22 0x18 0xda

# CHECK: vextduhvrx 1, 2, 3, 3
0x10 0x22 0x18 0xdb

# CHECK: vextduwvlx 1, 2, 3, 3
0x10 0x22 0x18 0xdc

# CHECK: vextduwvrx 1, 2, 3, 3
0x10 0x22 0x18 0xdd

# CHECK: vextddvlx 1, 2, 3, 3
0x10 0x22 0x18 0xde

# CHECK: vextddvrx 1, 2, 3, 3
0x10 0x22 0x18 0xdf

# CHECK: lxvrbx 32, 1, 2
0x7c 0x01 0x10 0x1b

# CHECK: lxvrhx 33, 1, 2
0x7c 0x21 0x10 0x5b

# CHECK: lxvrdx 34, 1, 2
0x7c 0x41 0x10 0xdb

# CHECK: lxvrwx 35, 1, 2
0x7c 0x61 0x10 0x9b

# CHECK: stxvrbx 32, 3, 1
0x7c 0x03 0x09 0x1b

# CHECK: stxvrhx 33, 3, 1
0x7c 0x23 0x09 0x5b

# CHECK: stxvrwx 34, 3, 1
0x7c 0x43 0x09 0x9b

# CHECK: stxvrdx 35, 3, 1
0x7c 0x63 0x09 0xdb

# CHECK: vextractbm 1, 2
0x10 0x28 0x16 0x42

# CHECK: vextracthm 1, 2
0x10 0x29 0x16 0x42

# CHECK: vextractwm 1, 2
0x10 0x2a 0x16 0x42

# CHECK: vextractdm 1, 2
0x10 0x2b 0x16 0x42

# CHECK: vextractqm 1, 2
0x10 0x2c 0x16 0x42

# CHECK: vexpandbm 1, 2
0x10 0x20 0x16 0x42

# CHECK: vexpandhm 1, 2
0x10 0x21 0x16 0x42

# CHECK: vexpandwm 1, 2
0x10 0x22 0x16 0x42

# CHECK: vexpanddm 1, 2
0x10 0x23 0x16 0x42

# CHECK: vexpandqm 1, 2
0x10 0x24 0x16 0x42

# CHECK: mtvsrbm 1, 2
0x10 0x30 0x16 0x42

# CHECK: mtvsrhm 1, 2
0x10 0x31 0x16 0x42

# CHECK: mtvsrwm 1, 2
0x10 0x32 0x16 0x42

# CHECK: mtvsrdm 1, 2
0x10 0x33 0x16 0x42

# CHECK: mtvsrqm 1, 2
0x10 0x34 0x16 0x42

# CHECK: mtvsrbmi 1, 65535
0x10 0x3f 0xff 0xd5

# CHECK: vcntmbb 1, 2, 1
0x10 0x39 0x16 0x42

# CHECK: vcntmbh 1, 2, 1
0x10 0x3b 0x16 0x42

# CHECK: vcntmbw 1, 2, 0
0x10 0x3c 0x16 0x42

# CHECK: vcntmbd 1, 2, 0
0x10 0x3e 0x16 0x42

# CHECK: vmulesd 1, 2, 3
0x10 0x22 0x1b 0xc8

# CHECK: vmulosd 1, 2, 3
0x10 0x22 0x19 0xc8

# CHECK: vmuleud 1, 2, 3
0x10 0x22 0x1a 0xc8

# CHECK: vmuloud 1, 2, 3
0x10 0x22 0x18 0xc8

# CHECK: vmsumcud 1, 2, 3, 4
0x10 0x22 0x19 0x17

# CHECK: vdivsq 3, 4, 5
0x10 0x64 0x29 0x0b

# CHECK: vdivuq 3, 4, 5
0x10 0x64 0x28 0x0b

# CHECK: vdivesq 3, 4, 5
0x10 0x64 0x2b 0x0b

# CHECK: vdiveuq 3, 4, 5
0x10 0x64 0x2a 0x0b

# CHECK: vcmpequq 4, 5, 6
0x10 0x85 0x31 0xc7

# CHECK: vcmpequq. 4, 5, 6
0x10 0x85 0x35 0xc7

# CHECK: vcmpgtsq 4, 5, 6
0x10 0x85 0x33 0x87

# CHECK: vcmpgtsq. 4, 5, 6
0x10 0x85 0x37 0x87

# CHECK: vcmpgtuq 4, 5, 6
0x10 0x85 0x32 0x87

# CHECK: vcmpgtuq. 4, 5, 6
0x10 0x85 0x36 0x87

# CHECK: vcmpsq 7, 1, 2
0x13 0x81 0x11 0x41

# CHECK: vcmpuq 7, 1, 2
0x13 0x81 0x11 0x01

# CHECK: vmoduq 3, 4, 5
0x10 0x64 0x2e 0x0b

# CHECK: vextsd2q 20, 25
0x12 0x9b 0xce 0x02

# CHECK: vrlq 4, 5, 6
0x10 0x85 0x30 0x05

# CHECK: vrlqnm 4, 5, 6
0x10 0x85 0x31 0x45

# CHECK: vrlqmi 4, 5, 6
0x10 0x85 0x30 0x45

# CHECK: vslq 4, 5, 6
0x10 0x85 0x31 0x05

# CHECK: vsrq 4, 5, 6
0x10 0x85 0x32 0x05

# CHECK: vsraq 4, 5, 6
0x10 0x85 0x33 0x05

# CHECK: xscvqpuqz 8, 28
0xfd 0x00 0xe6 0x88

# CHECK: xscvqpsqz 8, 28
0xfd 0x08 0xe6 0x88

# CHECK: xscvuqqp 8, 28
0xfd 0x03 0xe6 0x88

# CHECK: xscvsqqp 8, 28
0xfd 0xb 0xe6 0x88

# CHECK: xsmaxcqp 2, 2, 3
0xfc 0x42 0x1d 0x48

# CHECK: xsmincqp 2, 2, 3
0xfc 0x42 0x1d 0xc8

# CHECK: xscmpeqqp 1, 2, 2
0xfc 0x22 0x10 0x88

# CHECK: xscmpgeqp 1, 2, 3
0xfc 0x22 0x19 0x88

# CHECK: xscmpgtqp 1, 2, 4
0xfc 0x22 0x21 0xc8

# CHECK: vstribr 2, 2
0x10 0x41 0x10 0x0d

# CHECK: vstribl 2, 2
0x10 0x40 0x10 0x0d

# CHECK: vstrihr 2, 2
0x10 0x43 0x10 0x0d

# CHECK: vstrihl 2, 2
0x10 0x42 0x10 0x0d

# CHECK: vstribr. 2, 2
0x10 0x41 0x14 0x0d

# CHECK: vstribl. 2, 2
0x10 0x40 0x14 0x0d

# CHECK: vstrihr. 2, 2
0x10 0x43 0x14 0x0d

# CHECK: vstrihl. 2, 2
0x10 0x42 0x14 0x0d

# CHECK: xvcvspbf16 33, 34
0xf0 0x31 0x17 0x6f

# CHECK: xvcvbf16spn 33, 34
0xf0 0x30 0x17 0x6f

# CHECK: xvtlsbb 1, 7
0xf0 0x82 0x3f 0x6c

# CHECK: hashst 5, -8(1)
0x7f 0xe1 0x2d 0xa5

# CHECK: hashst 0, -8(30)
0x7f 0xfe 0x05 0xa5

# CHECK: hashst 5, -512(1)
0x7c 0x01 0x2d 0xa4

# CHECK: hashchk 5, -8(1)
0x7f 0xe1 0x2d 0xe5

# CHECK: hashchk 0, -8(30)
0x7f 0xfe 0x05 0xe5

# CHECK: hashchk 5, -512(1)
0x7c 0x01 0x2d 0xe4

# CHECK: hashstp 5, -8(1)
0x7f 0xe1 0x2d 0x25

# CHECK: hashstp 0, -8(30)
0x7f 0xfe 0x05 0x25

# CHECK: hashstp 5, -512(1)
0x7c 0x01 0x2d 0x24

# CHECK: hashchkp 5, -8(1)
0x7f 0xe1 0x2d 0x65

# CHECK: hashchkp 0, -8(30)
0x7f 0xfe 0x05 0x65

# CHECK: hashchkp 5, -512(1)
0x7c 0x01 0x2d 0x64