# RUN: llvm-mc --disassemble %s -triple powerpc64le-unknown-unknown \
# RUN:   -mcpu=future | FileCheck %s

#CHECK: dmxxextfdmr512 2, 34, 1, 0
0x12 0x17 0x82 0xf0

#CHECK: dmxxextfdmr512 2, 34, 1, 1
0x12 0x17 0x83 0xf0

#CHECK: dmxxextfdmr256 8, 3, 0
0x90 0x47 0x80 0xf1

#CHECK: dmxxextfdmr256 8, 3, 3
0x90 0x4f 0x81 0xf1

#CHECK: dmxxinstdmr512 1, 2, 34, 0
0x52 0x17 0x82 0xf0

#CHECK: dmxxinstdmr512 1, 2, 34, 1
0x52 0x17 0x83 0xf0

#CHECK: dmxxinstdmr256 3, 8, 0
0x94 0x47 0x80 0xf1

#CHECK: dmxxinstdmr256 3, 8, 3
0x94 0x4f 0x81 0xf1

#CHECK: dmsetdmrz 3
0x62 0x01 0x82 0x7d

#CHECK: dmmr 4, 5
0x62 0xa1 0x06 0x7e

#CHECK: dmxor 6, 7
0x62 0xe1 0x07 0x7f

#CHECK: subfus 3, 0, 4, 5
0x90 0x28 0x64 0x7c

#CHECK: subfus 3, 1, 4, 5
0x90 0x2c 0x64 0x7c

#CHECK: subfus. 3, 0, 4, 5
0x91 0x28 0x64 0x7c

#CHECK: subfus. 3, 1, 4, 5
0x91 0x2c 0x64 0x7c

#CHECK: lxvrl 1, 1, 2
0x1a 0x14 0x21 0x7c

#CHECK: lxvrll 0, 3, 4
0x5a 0x24 0x03 0x7c

#CHECK: stxvrl 2, 0, 1
0x1a 0x0d 0x40 0x7c

#CHECK: stxvrll 3, 1, 5
0x5a 0x2d 0x61 0x7c

#CHECK: lxvprl 6, 1, 5
0x9a 0x2c 0xc1 0x7c

#CHECK: lxvprll 6, 2, 1
0xda 0x0c 0xc2 0x7c

#CHECK: stxvprl 0, 1, 2
0x9a 0x15 0x01 0x7c

#CHECK: stxvprll 6, 0, 1
0xda 0x0d 0xc0 0x7c

#CHECK: dmxvi8gerx4 1, 2, 4
0x58,0x20,0x82,0xec

#CHECK: dmxvi8gerx4pp 1, 0, 2
0x50,0x10,0x80,0xec

#CHECK: pmdmxvi8gerx4 0, 2, 4, 8, 4, 4
0x84,0x40,0x90,0x07,0x58,0x20,0x02,0xec

#CHECK: pmdmxvi8gerx4pp 1, 0, 4, 8, 4, 4
0x84,0x40,0x90,0x07,0x50,0x20,0x80,0xec

#CHECK: dmxvi8gerx4spp 1, 2, 4
0x10,0x23,0x82,0xec

#CHECK: pmdmxvi8gerx4spp 0, 2, 4, 8, 4, 4
0x84,0x40,0x90,0x07,0x10,0x23,0x02,0xec

#CHECK: dmxvbf16gerx2 1, 2, 4
0xd8,0x22,0x82,0xec

#CHECK: dmxvbf16gerx2pp 1, 2, 4
0x50,0x22,0x82,0xec

#CHECK: dmxvbf16gerx2pn 1, 2, 4
0x98,0x25,0x82,0xec

#CHECK: dmxvbf16gerx2np 1, 2, 4
0x98,0x23,0x82,0xec

#CHECK: dmxvbf16gerx2nn 1, 2, 4
0x50,0x27,0x82,0xec

#CHECK: pmdmxvbf16gerx2 1, 2, 4, 8, 4, 2
0x84,0x80,0x90,0x07,0xd8,0x22,0x82,0xec

#CHECK: pmdmxvbf16gerx2pp 1, 2, 4, 8, 4, 2
0x84,0x80,0x90,0x07,0x50,0x22,0x82,0xec

#CHECK: pmdmxvbf16gerx2pn 1, 2, 4, 8, 4, 2
0x84,0x80,0x90,0x07,0x98,0x25,0x82,0xec

#CHECK: pmdmxvbf16gerx2np 1, 2, 4, 8, 4, 2
0x84,0x80,0x90,0x07,0x98,0x23,0x82,0xec

#CHECK: pmdmxvbf16gerx2nn 1, 2, 4, 8, 4, 2
0x84,0x80,0x90,0x07,0x50,0x27,0x82,0xec

#CHECK: dmxvf16gerx2 1, 0, 2
0x18,0x12,0x80,0xec

#CHECK: dmxvf16gerx2pp 1, 0, 2
0x10,0x12,0x80,0xec

#CHECK: dmxvf16gerx2pn 1, 0, 2
0x98,0x14,0x80,0xec

#CHECK: dmxvf16gerx2np 1, 0, 2
0x98,0x12,0x80,0xec

#CHECK: dmxvf16gerx2nn 1, 0, 2
0x50,0x16,0x80,0xec

#CHECK: pmdmxvf16gerx2 0, 2, 4, 12, 5, 3
0xc5,0xc0,0x90,0x07,0x18,0x22,0x02,0xec

#CHECK: pmdmxvf16gerx2pp 0, 2, 4, 12, 5, 3
0xc5,0xc0,0x90,0x07,0x10,0x22,0x02,0xec

#CHECK: pmdmxvf16gerx2pn 0, 2, 4, 12, 5, 3
0xc5,0xc0,0x90,0x07,0x98,0x24,0x02,0xec

#CHECK: pmdmxvf16gerx2np 0, 2, 4, 12, 5, 3
0xc5,0xc0,0x90,0x07,0x98,0x22,0x02,0xec

#CHECK: pmdmxvf16gerx2nn 0, 2, 4, 12, 5, 3
0xc5,0xc0,0x90,0x07,0x50,0x26,0x02,0xec

#CHECK: dmsha256hash 0, 2
0x62,0x41,0x0e,0x7c

#CHECK: dmsha512hash 0, 2
0x62,0x41,0x2e,0x7c

#CHECK: dmsha3hash 0, 5
0x62,0x29,0x0f,0x7c

#CHECK: dmsha3dw 0
0x62,0x01,0x0f,0x7c

#CHECK: dmcryshash
0x62,0x61,0x0f,0x7c

#CHECK: dmxxshapad 0, 1, 2, 1, 3
0x94,0x0e,0x17,0xf0

#CHECK: dmxxsha3512pad 0, 1, 1
0x94,0x0e,0x04,0xf0

#CHECK: dmxxsha3384pad 0, 1, 1
0x94,0x0e,0x05,0xf0

#CHECK: dmxxsha3256pad 0, 1, 1
0x94,0x0e,0x06,0xf0

#CHECK: dmxxsha3224pad 0, 1, 1
0x94,0x0e,0x07,0xf0

#CHECK: dmxxshake256pad 0, 1, 1
0x94,0x0e,0x0c,0xf0

#CHECK: dmxxshake128pad 0, 1, 1
0x94,0x0e,0x0d,0xf0

#CHECK: dmxxsha384512pad 0, 1
0x94,0x0e,0x10,0xf0

#CHECK: dmxxsha224256pad 0, 1
0x94,0x0e,0x18,0xf0
