1f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# RUN: llvm-mc -triple hexagon -filetype=obj -o - %s | llvm-objdump -d - | FileCheck %s
2f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Hexagon Programmer's Reference Manual 11.1.3 ALU32/PRED
3f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
4f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Conditional add
5f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 c3 75 74
6f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = add(r21, #31)
7f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
8f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: f1 e3 75 74
9f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
10f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (p3.new) r17 = add(r21, #31) }
11f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 c3 f5 74
12f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = add(r21, #31)
13f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
14f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: f1 e3 f5 74
15f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
16f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (!p3.new) r17 = add(r21, #31) }
17f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df 15 fb
18f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = add(r21, r31)
19f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
20f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 71 ff 15 fb
21f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
22f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (p3.new) r17 = add(r21, r31) }
23f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df 15 fb
24f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = add(r21, r31)
25f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
26f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: f1 ff 15 fb
27f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
28f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (!p3.new) r17 = add(r21, r31) }
29f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
30f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Conditional shift halfword
31f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 e3 15 70
32f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = aslh(r21)
33f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
34f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 e7 15 70
35f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
36f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (p3.new) r17 = aslh(r21) }
37f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 eb 15 70
38f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = aslh(r21)
39f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
40f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 ef 15 70
41f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
42f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (!p3.new) r17 = aslh(r21) }
43f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 e3 35 70
44f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = asrh(r21)
45f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
46f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 e7 35 70
47f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
48f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (p3.new) r17 = asrh(r21) }
49f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 eb 35 70
50f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = asrh(r21)
51f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
52f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 ef 35 70
53f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
54f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (!p3.new) r17 = asrh(r21) }
55f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
56f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Conditional combine
57f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 70 df 15 fd
58f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17:16 = combine(r21, r31)
59f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 df 15 fd
60f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17:16 = combine(r21, r31)
61f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
62f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 70 ff 15 fd
63f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
64f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (p3.new) r17:16 = combine(r21, r31) }
65f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
66f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: f0 ff 15 fd
67f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
68f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (!p3.new) r17:16 = combine(r21, r31) }
69f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
70f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Conditional logical operations
71f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df 15 f9
72f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = and(r21, r31)
73f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df 15 f9
74f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = and(r21, r31)
75f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
76f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 71 ff 15 f9
77f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
78f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (p3.new) r17 = and(r21, r31) }
79f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
80f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: f1 ff 15 f9
81f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
82f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (!p3.new) r17 = and(r21, r31) }
83f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df 35 f9
84f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = or(r21, r31)
85f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df 35 f9
86f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = or(r21, r31)
87f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
88f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 71 ff 35 f9
89f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
90f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (p3.new) r17 = or(r21, r31) }
91f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
92f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: f1 ff 35 f9
93f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
94f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (!p3.new) r17 = or(r21, r31) }
95f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df 75 f9
96f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = xor(r21, r31)
97f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df 75 f9
98f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = xor(r21, r31)
99f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
100f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 71 ff 75 f9
101f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
102f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (p3.new) r17 = xor(r21, r31) }
103f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
104f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: f1 ff 75 f9
105f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
106f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (!p3.new) r17 = xor(r21, r31) }
107f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
108f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Conditional subtract
109f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df 35 fb
110f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = sub(r31, r21)
111f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df 35 fb
112f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = sub(r31, r21)
113f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
114f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 71 ff 35 fb
115f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
116f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (p3.new) r17 = sub(r31, r21) }
117f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
118f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: f1 ff 35 fb
119f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
120f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (!p3.new) r17 = sub(r31, r21) }
121f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
122f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Conditional sign extend
123f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 e3 b5 70
124f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = sxtb(r21)
125f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 eb b5 70
126f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = sxtb(r21)
127f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
128f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 e7 b5 70
129f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
130f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (p3.new) r17 = sxtb(r21) }
131f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
132f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 ef b5 70
133f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
134f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (!p3.new) r17 = sxtb(r21) }
135f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 e3 f5 70
136f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = sxth(r21)
137f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 eb f5 70
138f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = sxth(r21)
139f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
140f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 e7 f5 70
141f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
142f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (p3.new) r17 = sxth(r21) }
143f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
144f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 ef f5 70
145f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
146f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (!p3.new) r17 = sxth(r21) }
147f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
148f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Conditional transfer
149f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b1 c2 60 7e
150f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = #21
151f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b1 c2 e0 7e
152f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = #21
153f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
154f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: b1 e2 60 7e
155f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
156f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (p3.new) r17 = #21 }
157f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
158f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: b1 e2 e0 7e
159f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
160f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (!p3.new) r17 = #21 }
161f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
162f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Conditional zero extend
163f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 e3 95 70
164f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = zxtb(r21)
165f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 eb 95 70
166f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = zxtb(r21)
167f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
168f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 e7 95 70
169f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
170f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (p3.new) r17 = zxtb(r21) }
171f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
172f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 ef 95 70
173f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
174f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (!p3.new) r17 = zxtb(r21) }
175f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 e3 d5 70
176f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = zxth(r21)
177f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 eb d5 70
178f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = zxth(r21)
179f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
180f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 e7 d5 70
181f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
182f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (p3.new) r17 = zxth(r21) }
183f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85
184f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 ef d5 70
185f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5
186f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  if (!p3.new) r17 = zxth(r21) }
187f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
188f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Compare
189f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: e3 c3 15 75
190f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = cmp.eq(r21, #31)
191f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f3 c3 15 75
192f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = !cmp.eq(r21, #31)
193f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: e3 c3 55 75
194f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = cmp.gt(r21, #31)
195f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f3 c3 55 75
196f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = !cmp.gt(r21, #31)
197f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: e3 c3 95 75
198f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = cmp.gtu(r21, #31)
199f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f3 c3 95 75
200f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = !cmp.gtu(r21, #31)
201f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 df 15 f2
202f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = cmp.eq(r21, r31)
203f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 13 df 15 f2
204f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = !cmp.eq(r21, r31)
205f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 df 55 f2
206f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = cmp.gt(r21, r31)
207f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 13 df 55 f2
208f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = !cmp.gt(r21, r31)
209f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 df 75 f2
210f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = cmp.gtu(r21, r31)
211f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 13 df 75 f2
212f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = !cmp.gtu(r21, r31)
213f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
214f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Compare to general register
215f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 e3 55 73
216f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = cmp.eq(r21, #31)
217f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 e3 75 73
218f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = !cmp.eq(r21, #31)
219f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 55 f3
220f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = cmp.eq(r21, r31)
221f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 75 f3
222f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = !cmp.eq(r21, r31)
223