[Hexagon] Adding absolute value, and negate with saturation
[oota-llvm.git] / test / MC / Disassembler / Hexagon / xtype_alu.txt
1 # RUN: llvm-mc --triple hexagon -disassemble < %s | FileCheck %s
2
3 0x91 0xc0 0x95 0x8c
4 # CHECK: r17 = abs(r21)
5 0xb1 0xc0 0x95 0x8c
6 # CHECK: r17 = abs(r21):sat
7 0xf1 0xc2 0x15 0xe2
8 # CHECK: r17 += add(r21, #23)
9 0xf1 0xc2 0x95 0xe2
10 # CHECK: r17 -= add(r21, #23)
11 0x31 0xdf 0x15 0xef
12 # CHECK: r17 += add(r21, r31)
13 0x31 0xdf 0x95 0xef
14 # CHECK: r17 -= add(r21, r31)
15 0xf0 0xde 0x14 0xd3
16 # CHECK: r17:16 = add(r21:20, r31:30)
17 0x11 0xd5 0x1f 0xd5
18 # CHECK: r17 = add(r21.l, r31.l)
19 0x51 0xd5 0x1f 0xd5
20 # CHECK: r17 = add(r21.l, r31.h)
21 0x91 0xd5 0x1f 0xd5
22 # CHECK: r17 = add(r21.l, r31.l):sat
23 0xd1 0xd5 0x1f 0xd5
24 # CHECK: r17 = add(r21.l, r31.h):sat
25 0x11 0xd5 0x5f 0xd5
26 # CHECK: r17 = add(r21.l, r31.l):<<16
27 0x31 0xd5 0x5f 0xd5
28 # CHECK: r17 = add(r21.l, r31.h):<<16
29 0x51 0xd5 0x5f 0xd5
30 # CHECK: r17 = add(r21.h, r31.l):<<16
31 0x71 0xd5 0x5f 0xd5
32 # CHECK: r17 = add(r21.h, r31.h):<<16
33 0x91 0xd5 0x5f 0xd5
34 # CHECK: r17 = add(r21.l, r31.l):sat:<<16
35 0xb1 0xd5 0x5f 0xd5
36 # CHECK: r17 = add(r21.l, r31.h):sat:<<16
37 0xd1 0xd5 0x5f 0xd5
38 # CHECK: r17 = add(r21.h, r31.l):sat:<<16
39 0xf1 0xd5 0x5f 0xd5
40 # CHECK: r17 = add(r21.h, r31.h):sat:<<16
41 0xf0 0xde 0x14 0xd3
42 # CHECK: r17:16 = add(r21:20, r31:30)
43 0xb0 0xde 0x74 0xd3
44 # CHECK: r17:16 = add(r21:20, r31:30):sat
45 0xd0 0xde 0x74 0xd3
46 # CHECK: r17:16 = add(r21:20, r31:30):raw:lo
47 0xf0 0xde 0x74 0xd3
48 # CHECK: r17:16 = add(r21:20, r31:30):raw:hi
49 0x10 0xde 0xf4 0xd3
50 # CHECK: r17:16 = and(r21:20, r31:30)
51 0x50 0xde 0xf4 0xd3
52 # CHECK: r17:16 = or(r21:20, r31:30)
53 0x71 0xdf 0x95 0xef
54 # CHECK: r17 ^= xor(r21, r31)
55 0x11 0xdf 0xd5 0xd5
56 # CHECK: r17 = max(r21, r31)
57 0x91 0xdf 0xd5 0xd5
58 # CHECK: r17 = maxu(r21, r31)
59 0x90 0xde 0xd4 0xd3
60 # CHECK: r17:16 = max(r21:20, r31:30)
61 0xb0 0xde 0xd4 0xd3
62 # CHECK: r17:16 = maxu(r21:20, r31:30)
63 0x11 0xd5 0xbf 0xd5
64 # CHECK: r17 = min(r21, r31)
65 0x91 0xd5 0xbf 0xd5
66 # CHECK: r17 = minu(r21, r31)
67 0xd0 0xd4 0xbe 0xd3
68 # CHECK: r17:16 = min(r21:20, r31:30)
69 0xf0 0xd4 0xbe 0xd3
70 # CHECK: r17:16 = minu(r21:20, r31:30)
71 0xd1 0xc0 0x95 0x8c
72 # CHECK: r17 = neg(r21):sat
73 0x71 0xd5 0x1f 0xef
74 # CHECK: r17 += sub(r21, r31)
75 0x11 0xd5 0x3f 0xd5
76 # CHECK: r17 = sub(r21.l, r31.l)
77 0x51 0xd5 0x3f 0xd5
78 # CHECK: r17 = sub(r21.l, r31.h)
79 0x91 0xd5 0x3f 0xd5
80 # CHECK: r17 = sub(r21.l, r31.l):sat
81 0xd1 0xd5 0x3f 0xd5
82 # CHECK: r17 = sub(r21.l, r31.h):sat
83 0x11 0xd5 0x7f 0xd5
84 # CHECK: r17 = sub(r21.l, r31.l):<<16
85 0x31 0xd5 0x7f 0xd5
86 # CHECK: r17 = sub(r21.l, r31.h):<<16
87 0x51 0xd5 0x7f 0xd5
88 # CHECK: r17 = sub(r21.h, r31.l):<<16
89 0x71 0xd5 0x7f 0xd5
90 # CHECK: r17 = sub(r21.h, r31.h):<<16
91 0x91 0xd5 0x7f 0xd5
92 # CHECK: r17 = sub(r21.l, r31.l):sat:<<16
93 0xb1 0xd5 0x7f 0xd5
94 # CHECK: r17 = sub(r21.l, r31.h):sat:<<16
95 0xd1 0xd5 0x7f 0xd5
96 # CHECK: r17 = sub(r21.h, r31.l):sat:<<16
97 0xf1 0xd5 0x7f 0xd5
98 # CHECK: r17 = sub(r21.h, r31.h):sat:<<16
99 0x10 0xc0 0x55 0x84
100 # CHECK: r17:16 = sxtw(r21)
101 0x90 0xde 0xf4 0xd3
102 # CHECK: r17:16 = xor(r21:20, r31:30)