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