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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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