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