1 # RUN: llvm-mc --triple hexagon -disassemble < %s | FileCheck %s
4 # CHECK: r17:16 = abs(r21:20)
6 # CHECK: r17 = abs(r21)
8 # CHECK: r17 = abs(r21):sat
10 # CHECK: r17 = add(r21, add(r31, #23))
12 # CHECK: r17 = add(r21, sub(#23, r31))
14 # CHECK: r17 += add(r21, #23)
16 # CHECK: r17 -= add(r21, #23)
18 # CHECK: r17 += add(r21, r31)
20 # CHECK: r17 -= add(r21, r31)
22 # CHECK: r17:16 = add(r21:20, r31:30)
24 # CHECK: r17 = add(r21.l, r31.l)
26 # CHECK: r17 = add(r21.l, r31.h)
28 # CHECK: r17 = add(r21.l, r31.l):sat
30 # CHECK: r17 = add(r21.l, r31.h):sat
32 # CHECK: r17 = add(r21.l, r31.l):<<16
34 # CHECK: r17 = add(r21.l, r31.h):<<16
36 # CHECK: r17 = add(r21.h, r31.l):<<16
38 # CHECK: r17 = add(r21.h, r31.h):<<16
40 # CHECK: r17 = add(r21.l, r31.l):sat:<<16
42 # CHECK: r17 = add(r21.l, r31.h):sat:<<16
44 # CHECK: r17 = add(r21.h, r31.l):sat:<<16
46 # CHECK: r17 = add(r21.h, r31.h):sat:<<16
48 # CHECK: r17:16 = add(r21:20, r31:30, p3):carry
50 # CHECK: r17:16 = sub(r21:20, r31:30, p3):carry
52 # CHECK: r17:16 = not(r21:20)
54 # CHECK: r17:16 = add(r21:20, r31:30)
56 # CHECK: r17:16 = add(r21:20, r31:30):sat
58 # CHECK: r17:16 = add(r21:20, r31:30):raw:lo
60 # CHECK: r17:16 = add(r21:20, r31:30):raw:hi
62 # CHECK: r17:16 = and(r21:20, r31:30)
64 # CHECK: r17:16 = and(r21:20, ~r31:30)
66 # CHECK: r17:16 = or(r21:20, r31:30)
68 # CHECK: r17:16 = or(r21:20, ~r31:30)
70 # CHECK: r17:16 ^= xor(r21:20, r31:30)
72 # CHECK: r17 |= and(r21, #31)
74 # CHECK: r17 = or(r21, and(r17, #31))
76 # CHECK: r17 |= or(r21, #31)
78 # CHECK: r17 |= and(r21, ~r31)
80 # CHECK: r17 &= and(r21, ~r31)
82 # CHECK: r17 ^= and(r21, ~r31)
84 # CHECK: r17 &= and(r21, r31)
86 # CHECK: r17 &= or(r21, r31)
88 # CHECK: r17 &= xor(r21, r31)
90 # CHECK: r17 |= and(r21, r31)
92 # CHECK: r17 ^= xor(r21, r31)
94 # CHECK: r17 |= or(r21, r31)
96 # CHECK: r17 |= xor(r21, r31)
98 # CHECK: r17 ^= and(r21, r31)
100 # CHECK: r17 ^= or(r21, r31)
102 # CHECK: r17 = max(r21, r31)
104 # CHECK: r17 = maxu(r21, r31)
106 # CHECK: r17:16 = max(r21:20, r31:30)
108 # CHECK: r17:16 = maxu(r21:20, r31:30)
110 # CHECK: r17 = min(r21, r31)
112 # CHECK: r17 = minu(r21, r31)
114 # CHECK: r17:16 = min(r21:20, r31:30)
116 # CHECK: r17:16 = minu(r21:20, r31:30)
118 # CHECK: r17 = modwrap(r21, r31)
120 # CHECK: r17:16 = neg(r21:20)
122 # CHECK: r17 = neg(r21):sat
124 # CHECK: r17 = round(r21:20):sat
126 # CHECK: r17 = cround(r21, #31)
128 # CHECK: r17 = round(r21, #31)
130 # CHECK: r17 = round(r21, #31):sat
132 # CHECK: r17 = cround(r21, r31)
134 # CHECK: r17 = round(r21, r31)
136 # CHECK: r17 = round(r21, r31):sat
138 # CHECK: r17 += sub(r21, r31)
140 # CHECK: r17 = sub(r21.l, r31.l)
142 # CHECK: r17 = sub(r21.l, r31.h)
144 # CHECK: r17 = sub(r21.l, r31.l):sat
146 # CHECK: r17 = sub(r21.l, r31.h):sat
148 # CHECK: r17 = sub(r21.l, r31.l):<<16
150 # CHECK: r17 = sub(r21.l, r31.h):<<16
152 # CHECK: r17 = sub(r21.h, r31.l):<<16
154 # CHECK: r17 = sub(r21.h, r31.h):<<16
156 # CHECK: r17 = sub(r21.l, r31.l):sat:<<16
158 # CHECK: r17 = sub(r21.l, r31.h):sat:<<16
160 # CHECK: r17 = sub(r21.h, r31.l):sat:<<16
162 # CHECK: r17 = sub(r21.h, r31.h):sat:<<16
164 # CHECK: r17:16 = sxtw(r21)
166 # CHECK: r17:16 = xor(r21:20, r31:30)