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 = not(r21:20)
50 # CHECK: r17:16 = add(r21:20, r31:30)
52 # CHECK: r17:16 = add(r21:20, r31:30):sat
54 # CHECK: r17:16 = add(r21:20, r31:30):raw:lo
56 # CHECK: r17:16 = add(r21:20, r31:30):raw:hi
58 # CHECK: r17:16 = and(r21:20, r31:30)
60 # CHECK: r17:16 = and(r21:20, ~r31:30)
62 # CHECK: r17:16 = or(r21:20, r31:30)
64 # CHECK: r17:16 = or(r21:20, ~r31:30)
66 # CHECK: r17:16 ^= xor(r21:20, r31:30)
68 # CHECK: r17 |= and(r21, #31)
70 # CHECK: r17 = or(r21, and(r17, #31))
72 # CHECK: r17 |= or(r21, #31)
74 # CHECK: r17 |= and(r21, ~r31)
76 # CHECK: r17 &= and(r21, ~r31)
78 # CHECK: r17 ^= and(r21, ~r31)
80 # CHECK: r17 &= and(r21, r31)
82 # CHECK: r17 &= or(r21, r31)
84 # CHECK: r17 &= xor(r21, r31)
86 # CHECK: r17 |= and(r21, r31)
88 # CHECK: r17 ^= xor(r21, r31)
90 # CHECK: r17 |= or(r21, r31)
92 # CHECK: r17 |= xor(r21, r31)
94 # CHECK: r17 ^= and(r21, r31)
96 # CHECK: r17 ^= or(r21, r31)
98 # CHECK: r17 = max(r21, r31)
100 # CHECK: r17 = maxu(r21, r31)
102 # CHECK: r17:16 = max(r21:20, r31:30)
104 # CHECK: r17:16 = maxu(r21:20, r31:30)
106 # CHECK: r17 = min(r21, r31)
108 # CHECK: r17 = minu(r21, r31)
110 # CHECK: r17:16 = min(r21:20, r31:30)
112 # CHECK: r17:16 = minu(r21:20, r31:30)
114 # CHECK: r17 = modwrap(r21, r31)
116 # CHECK: r17:16 = neg(r21:20)
118 # CHECK: r17 = neg(r21):sat
120 # CHECK: r17 = cround(r21, #31)
122 # CHECK: r17 = round(r21, #31)
124 # CHECK: r17 = round(r21, #31):sat
126 # CHECK: r17 = cround(r21, r31)
128 # CHECK: r17 = round(r21, r31)
130 # CHECK: r17 = round(r21, r31):sat
132 # CHECK: r17 += sub(r21, r31)
134 # CHECK: r17 = sub(r21.l, r31.l)
136 # CHECK: r17 = sub(r21.l, r31.h)
138 # CHECK: r17 = sub(r21.l, r31.l):sat
140 # CHECK: r17 = sub(r21.l, r31.h):sat
142 # CHECK: r17 = sub(r21.l, r31.l):<<16
144 # CHECK: r17 = sub(r21.l, r31.h):<<16
146 # CHECK: r17 = sub(r21.h, r31.l):<<16
148 # CHECK: r17 = sub(r21.h, r31.h):<<16
150 # CHECK: r17 = sub(r21.l, r31.l):sat:<<16
152 # CHECK: r17 = sub(r21.l, r31.h):sat:<<16
154 # CHECK: r17 = sub(r21.h, r31.l):sat:<<16
156 # CHECK: r17 = sub(r21.h, r31.h):sat:<<16
158 # CHECK: r17:16 = sxtw(r21)
160 # CHECK: r17:16 = xor(r21:20, r31:30)