[Hexagon] Adding misc multiply encodings and tests.
[oota-llvm.git] / test / MC / Disassembler / Hexagon / xtype_mpy.txt
1 # RUN: llvm-mc --triple hexagon -disassemble < %s | FileCheck %s
2
3 0x11 0xdf 0x15 0xed
4 # CHECK: r17 = mpyi(r21, r31)
5 0x10 0xdf 0x95 0xe6
6 # CHECK: r17:16 += mpy(r21.l, r31.l):<<1
7 0x30 0xdf 0x95 0xe6
8 # CHECK: r17:16 += mpy(r21.l, r31.h):<<1
9 0x50 0xdf 0x95 0xe6
10 # CHECK: r17:16 += mpy(r21.h, r31.l):<<1
11 0x70 0xdf 0x95 0xe6
12 # CHECK: r17:16 += mpy(r21.h, r31.h):<<1
13 0x10 0xdf 0xb5 0xe6
14 # CHECK: r17:16 -= mpy(r21.l, r31.l):<<1
15 0x30 0xdf 0xb5 0xe6
16 # CHECK: r17:16 -= mpy(r21.l, r31.h):<<1
17 0x50 0xdf 0xb5 0xe6
18 # CHECK: r17:16 -= mpy(r21.h, r31.l):<<1
19 0x70 0xdf 0xb5 0xe6
20 # CHECK: r17:16 -= mpy(r21.h, r31.h):<<1
21 0x11 0xdf 0x95 0xec
22 # CHECK: r17 = mpy(r21.l, r31.l):<<1
23 0x31 0xdf 0x95 0xec
24 # CHECK: r17 = mpy(r21.l, r31.h):<<1
25 0x51 0xdf 0x95 0xec
26 # CHECK: r17 = mpy(r21.h, r31.l):<<1
27 0x71 0xdf 0x95 0xec
28 # CHECK: r17 = mpy(r21.h, r31.h):<<1
29 0x91 0xdf 0x95 0xec
30 # CHECK: r17 = mpy(r21.l, r31.l):<<1:sat
31 0xb1 0xdf 0x95 0xec
32 # CHECK: r17 = mpy(r21.l, r31.h):<<1:sat
33 0xd1 0xdf 0x95 0xec
34 # CHECK: r17 = mpy(r21.h, r31.l):<<1:sat
35 0xf1 0xdf 0x95 0xec
36 # CHECK: r17 = mpy(r21.h, r31.h):<<1:sat
37 0x11 0xdf 0xb5 0xec
38 # CHECK: r17 = mpy(r21.l, r31.l):<<1:rnd
39 0x31 0xdf 0xb5 0xec
40 # CHECK: r17 = mpy(r21.l, r31.h):<<1:rnd
41 0x51 0xdf 0xb5 0xec
42 # CHECK: r17 = mpy(r21.h, r31.l):<<1:rnd
43 0x71 0xdf 0xb5 0xec
44 # CHECK: r17 = mpy(r21.h, r31.h):<<1:rnd
45 0x91 0xdf 0xb5 0xec
46 # CHECK: r17 = mpy(r21.l, r31.l):<<1:rnd:sat
47 0xb1 0xdf 0xb5 0xec
48 # CHECK: r17 = mpy(r21.l, r31.h):<<1:rnd:sat
49 0xd1 0xdf 0xb5 0xec
50 # CHECK: r17 = mpy(r21.h, r31.l):<<1:rnd:sat
51 0xf1 0xdf 0xb5 0xec
52 # CHECK: r17 = mpy(r21.h, r31.h):<<1:rnd:sat
53 0x11 0xdf 0x95 0xee
54 # CHECK: r17 += mpy(r21.l, r31.l):<<1
55 0x31 0xdf 0x95 0xee
56 # CHECK: r17 += mpy(r21.l, r31.h):<<1
57 0x51 0xdf 0x95 0xee
58 # CHECK: r17 += mpy(r21.h, r31.l):<<1
59 0x71 0xdf 0x95 0xee
60 # CHECK: r17 += mpy(r21.h, r31.h):<<1
61 0x91 0xdf 0x95 0xee
62 # CHECK: r17 += mpy(r21.l, r31.l):<<1:sat
63 0xb1 0xdf 0x95 0xee
64 # CHECK: r17 += mpy(r21.l, r31.h):<<1:sat
65 0xd1 0xdf 0x95 0xee
66 # CHECK: r17 += mpy(r21.h, r31.l):<<1:sat
67 0xf1 0xdf 0x95 0xee
68 # CHECK: r17 += mpy(r21.h, r31.h):<<1:sat
69 0x11 0xdf 0xb5 0xee
70 # CHECK: r17 -= mpy(r21.l, r31.l):<<1
71 0x31 0xdf 0xb5 0xee
72 # CHECK: r17 -= mpy(r21.l, r31.h):<<1
73 0x51 0xdf 0xb5 0xee
74 # CHECK: r17 -= mpy(r21.h, r31.l):<<1
75 0x71 0xdf 0xb5 0xee
76 # CHECK: r17 -= mpy(r21.h, r31.h):<<1
77 0x91 0xdf 0xb5 0xee
78 # CHECK: r17 -= mpy(r21.l, r31.l):<<1:sat
79 0xb1 0xdf 0xb5 0xee
80 # CHECK: r17 -= mpy(r21.l, r31.h):<<1:sat
81 0xd1 0xdf 0xb5 0xee
82 # CHECK: r17 -= mpy(r21.h, r31.l):<<1:sat
83 0xf1 0xdf 0xb5 0xee
84 # CHECK: r17 -= mpy(r21.h, r31.h):<<1:sat
85 0x10 0xdf 0xd5 0xe6
86 # CHECK: r17:16 += mpyu(r21.l, r31.l):<<1
87 0x30 0xdf 0xd5 0xe6
88 # CHECK: r17:16 += mpyu(r21.l, r31.h):<<1
89 0x50 0xdf 0xd5 0xe6
90 # CHECK: r17:16 += mpyu(r21.h, r31.l):<<1
91 0x70 0xdf 0xd5 0xe6
92 # CHECK: r17:16 += mpyu(r21.h, r31.h):<<1
93 0x10 0xdf 0xf5 0xe6
94 # CHECK: r17:16 -= mpyu(r21.l, r31.l):<<1
95 0x30 0xdf 0xf5 0xe6
96 # CHECK: r17:16 -= mpyu(r21.l, r31.h):<<1
97 0x50 0xdf 0xf5 0xe6
98 # CHECK: r17:16 -= mpyu(r21.h, r31.l):<<1
99 0x70 0xdf 0xf5 0xe6
100 # CHECK: r17:16 -= mpyu(r21.h, r31.h):<<1
101 0x11 0xdf 0xd5 0xec
102 # CHECK: r17 = mpyu(r21.l, r31.l):<<1
103 0x31 0xdf 0xd5 0xec
104 # CHECK: r17 = mpyu(r21.l, r31.h):<<1
105 0x51 0xdf 0xd5 0xec
106 # CHECK: r17 = mpyu(r21.h, r31.l):<<1
107 0x71 0xdf 0xd5 0xec
108 # CHECK: r17 = mpyu(r21.h, r31.h):<<1
109 0x11 0xdf 0xd5 0xee
110 # CHECK: r17 += mpyu(r21.l, r31.l):<<1
111 0x31 0xdf 0xd5 0xee
112 # CHECK: r17 += mpyu(r21.l, r31.h):<<1
113 0x51 0xdf 0xd5 0xee
114 # CHECK: r17 += mpyu(r21.h, r31.l):<<1
115 0x71 0xdf 0xd5 0xee
116 # CHECK: r17 += mpyu(r21.h, r31.h):<<1
117 0x11 0xdf 0xf5 0xee
118 # CHECK: r17 -= mpyu(r21.l, r31.l):<<1
119 0x31 0xdf 0xf5 0xee
120 # CHECK: r17 -= mpyu(r21.l, r31.h):<<1
121 0x51 0xdf 0xf5 0xee
122 # CHECK: r17 -= mpyu(r21.h, r31.l):<<1
123 0x71 0xdf 0xf5 0xee
124 # CHECK: r17 -= mpyu(r21.h, r31.h):<<1
125 0x31 0xdf 0x35 0xed
126 # CHECK: r17 = mpy(r21, r31):rnd
127 0x31 0xdf 0x55 0xed
128 # CHECK: r17 = mpyu(r21, r31)
129 0x91 0xdf 0xb5 0xed
130 # CHECK: r17 = mpy(r21, r31.h):<<1:rnd:sat
131 0x91 0xdf 0xf5 0xed
132 # CHECK: r17 = mpy(r21, r31.l):<<1:rnd:sat