ppc64-encoding-ISA31.txt 6.38 KB
# 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

# 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: 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: 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: 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: vsldbi 2, 3, 4, 5
0x10 0x43 0x21 0x56

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

# 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: 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