xref: /aosp_15_r20/external/llvm/test/MC/AMDGPU/vop3.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -arch=amdgcn -show-encoding %s | FileCheck %s --check-prefix=SICI
2*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -arch=amdgcn -mcpu=SI -show-encoding %s | FileCheck %s --check-prefix=SICI
3*9880d681SAndroid Build Coastguard Worker// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga -show-encoding %s | FileCheck %s --check-prefix=VI
4*9880d681SAndroid Build Coastguard Worker// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga -show-encoding %s 2>&1 | FileCheck %s -check-prefix=NOVI
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
8*9880d681SAndroid Build Coastguard Worker// VOPC Instructions
9*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker// Test forced e64 encoding
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Workerv_cmp_lt_f32_e64 s[2:3], v4, -v6
14*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_lt_f32_e64 s[2:3], v4, -v6 ; encoding: [0x02,0x00,0x02,0xd0,0x04,0x0d,0x02,0x40]
15*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_lt_f32_e64 s[2:3], v4, -v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x40]
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Worker// Test forcing e64 with vcc dst
18*9880d681SAndroid Build Coastguard Worker
19*9880d681SAndroid Build Coastguard Workerv_cmp_lt_f32_e64 vcc, v4, v6
20*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_lt_f32_e64 vcc, v4, v6 ; encoding: [0x6a,0x00,0x02,0xd0,0x04,0x0d,0x02,0x00]
21*9880d681SAndroid Build Coastguard Worker// VI: v_cmp_lt_f32_e64 vcc, v4, v6 ; encoding: [0x6a,0x00,0x41,0xd0,0x04,0x0d,0x02,0x00]
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Worker//
24*9880d681SAndroid Build Coastguard Worker// Modifier tests:
25*9880d681SAndroid Build Coastguard Worker//
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Workerv_cmp_lt_f32 s[2:3] -v4, v6
28*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_lt_f32_e64 s[2:3], -v4, v6 ; encoding: [0x02,0x00,0x02,0xd0,0x04,0x0d,0x02,0x20]
29*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_lt_f32_e64 s[2:3], -v4, v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x20]
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Workerv_cmp_lt_f32 s[2:3]  v4, -v6
32*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_lt_f32_e64 s[2:3], v4, -v6 ; encoding: [0x02,0x00,0x02,0xd0,0x04,0x0d,0x02,0x40]
33*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_lt_f32_e64 s[2:3], v4, -v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x40]
34*9880d681SAndroid Build Coastguard Worker
35*9880d681SAndroid Build Coastguard Workerv_cmp_lt_f32 s[2:3] -v4, -v6
36*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_lt_f32_e64 s[2:3], -v4, -v6 ; encoding: [0x02,0x00,0x02,0xd0,0x04,0x0d,0x02,0x60]
37*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_lt_f32_e64 s[2:3], -v4, -v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x60]
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Workerv_cmp_lt_f32 s[2:3] |v4|, v6
40*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_lt_f32_e64 s[2:3], |v4|, v6 ; encoding: [0x02,0x01,0x02,0xd0,0x04,0x0d,0x02,0x00]
41*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_lt_f32_e64 s[2:3], |v4|, v6 ; encoding: [0x02,0x01,0x41,0xd0,0x04,0x0d,0x02,0x00]
42*9880d681SAndroid Build Coastguard Worker
43*9880d681SAndroid Build Coastguard Workerv_cmp_lt_f32 s[2:3] v4, |v6|
44*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_lt_f32_e64 s[2:3], v4, |v6| ; encoding: [0x02,0x02,0x02,0xd0,0x04,0x0d,0x02,0x00]
45*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_lt_f32_e64 s[2:3], v4, |v6| ; encoding: [0x02,0x02,0x41,0xd0,0x04,0x0d,0x02,0x00]
46*9880d681SAndroid Build Coastguard Worker
47*9880d681SAndroid Build Coastguard Workerv_cmp_lt_f32 s[2:3] |v4|, |v6|
48*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_lt_f32_e64 s[2:3], |v4|, |v6| ; encoding: [0x02,0x03,0x02,0xd0,0x04,0x0d,0x02,0x00]
49*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_lt_f32_e64 s[2:3], |v4|, |v6| ; encoding: [0x02,0x03,0x41,0xd0,0x04,0x0d,0x02,0x00]
50*9880d681SAndroid Build Coastguard Worker
51*9880d681SAndroid Build Coastguard Workerv_cmp_lt_f32 s[2:3] -|v4|, v6
52*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_lt_f32_e64 s[2:3], -|v4|, v6 ; encoding: [0x02,0x01,0x02,0xd0,0x04,0x0d,0x02,0x20]
53*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_lt_f32_e64 s[2:3], -|v4|, v6 ; encoding: [0x02,0x01,0x41,0xd0,0x04,0x0d,0x02,0x20]
54*9880d681SAndroid Build Coastguard Worker
55*9880d681SAndroid Build Coastguard Workerv_cmp_lt_f32 s[2:3] -abs(v4), v6
56*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_lt_f32_e64 s[2:3], -|v4|, v6 ; encoding: [0x02,0x01,0x02,0xd0,0x04,0x0d,0x02,0x20]
57*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_lt_f32_e64 s[2:3], -|v4|, v6 ; encoding: [0x02,0x01,0x41,0xd0,0x04,0x0d,0x02,0x20]
58*9880d681SAndroid Build Coastguard Worker
59*9880d681SAndroid Build Coastguard Workerv_cmp_lt_f32 s[2:3] v4, -|v6|
60*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_lt_f32_e64 s[2:3], v4, -|v6| ; encoding: [0x02,0x02,0x02,0xd0,0x04,0x0d,0x02,0x40]
61*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_lt_f32_e64 s[2:3], v4, -|v6| ; encoding: [0x02,0x02,0x41,0xd0,0x04,0x0d,0x02,0x40]
62*9880d681SAndroid Build Coastguard Worker
63*9880d681SAndroid Build Coastguard Workerv_cmp_lt_f32 s[2:3] v4, -abs(v6)
64*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_lt_f32_e64 s[2:3], v4, -|v6| ; encoding: [0x02,0x02,0x02,0xd0,0x04,0x0d,0x02,0x40]
65*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_lt_f32_e64 s[2:3], v4, -|v6| ; encoding: [0x02,0x02,0x41,0xd0,0x04,0x0d,0x02,0x40]
66*9880d681SAndroid Build Coastguard Worker
67*9880d681SAndroid Build Coastguard Workerv_cmp_lt_f32 s[2:3] -|v4|, -|v6|
68*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_lt_f32_e64 s[2:3], -|v4|, -|v6| ; encoding: [0x02,0x03,0x02,0xd0,0x04,0x0d,0x02,0x60]
69*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_lt_f32_e64 s[2:3], -|v4|, -|v6| ; encoding: [0x02,0x03,0x41,0xd0,0x04,0x0d,0x02,0x60]
70*9880d681SAndroid Build Coastguard Worker
71*9880d681SAndroid Build Coastguard Workerv_cmp_lt_f32 s[2:3] -abs(v4), -abs(v6)
72*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_lt_f32_e64 s[2:3], -|v4|, -|v6| ; encoding: [0x02,0x03,0x02,0xd0,0x04,0x0d,0x02,0x60]
73*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_lt_f32_e64 s[2:3], -|v4|, -|v6| ; encoding: [0x02,0x03,0x41,0xd0,0x04,0x0d,0x02,0x60]
74*9880d681SAndroid Build Coastguard Worker
75*9880d681SAndroid Build Coastguard Worker//
76*9880d681SAndroid Build Coastguard Worker// Instruction tests:
77*9880d681SAndroid Build Coastguard Worker//
78*9880d681SAndroid Build Coastguard Worker
79*9880d681SAndroid Build Coastguard Workerv_cmp_f_f32 s[2:3], v4, v6
80*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_f_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x00,0xd0,0x04,0x0d,0x02,0x00]
81*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_f_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x40,0xd0,0x04,0x0d,0x02,0x00]
82*9880d681SAndroid Build Coastguard Worker
83*9880d681SAndroid Build Coastguard Workerv_cmp_lt_f32 s[2:3], v4, v6
84*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_lt_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x02,0xd0,0x04,0x0d,0x02,0x00]
85*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_lt_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x00]
86*9880d681SAndroid Build Coastguard Worker
87*9880d681SAndroid Build Coastguard Workerv_cmp_eq_f32 s[2:3], v4, v6
88*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_eq_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x04,0xd0,0x04,0x0d,0x02,0x00]
89*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_eq_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x42,0xd0,0x04,0x0d,0x02,0x00]
90*9880d681SAndroid Build Coastguard Worker
91*9880d681SAndroid Build Coastguard Workerv_cmp_le_f32 s[2:3], v4, v6
92*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_le_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x06,0xd0,0x04,0x0d,0x02,0x00]
93*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_le_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x43,0xd0,0x04,0x0d,0x02,0x00]
94*9880d681SAndroid Build Coastguard Worker
95*9880d681SAndroid Build Coastguard Workerv_cmp_gt_f32 s[2:3], v4, v6
96*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_gt_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x08,0xd0,0x04,0x0d,0x02,0x00]
97*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_gt_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x44,0xd0,0x04,0x0d,0x02,0x00]
98*9880d681SAndroid Build Coastguard Worker
99*9880d681SAndroid Build Coastguard Workerv_cmp_lg_f32 s[2:3], v4, v6
100*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_lg_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x0a,0xd0,0x04,0x0d,0x02,0x00]
101*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_lg_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x45,0xd0,0x04,0x0d,0x02,0x00]
102*9880d681SAndroid Build Coastguard Worker
103*9880d681SAndroid Build Coastguard Workerv_cmp_ge_f32 s[2:3], v4, v6
104*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_ge_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x0c,0xd0,0x04,0x0d,0x02,0x00]
105*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_ge_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x46,0xd0,0x04,0x0d,0x02,0x00]
106*9880d681SAndroid Build Coastguard Worker
107*9880d681SAndroid Build Coastguard Worker// TODO: Add tests for the rest of v_cmp_*_f32
108*9880d681SAndroid Build Coastguard Worker// TODO: Add tests for v_cmpx_*_f32
109*9880d681SAndroid Build Coastguard Worker
110*9880d681SAndroid Build Coastguard Workerv_cmp_f_f64 s[2:3], v[4:5], v[6:7]
111*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_f_f64_e64 s[2:3], v[4:5], v[6:7] ; encoding: [0x02,0x00,0x40,0xd0,0x04,0x0d,0x02,0x00]
112*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_f_f64_e64 s[2:3], v[4:5], v[6:7] ; encoding: [0x02,0x00,0x60,0xd0,0x04,0x0d,0x02,0x00]
113*9880d681SAndroid Build Coastguard Worker
114*9880d681SAndroid Build Coastguard Worker// TODO: Add tests for the rest of v_cmp_*_f64
115*9880d681SAndroid Build Coastguard Worker// TODO: Add tests for the rest of the floating-point comparision instructions.
116*9880d681SAndroid Build Coastguard Worker
117*9880d681SAndroid Build Coastguard Workerv_cmp_f_i32 s[2:3], v4, v6
118*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_f_i32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x00,0xd1,0x04,0x0d,0x02,0x00]
119*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_f_i32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0xc0,0xd0,0x04,0x0d,0x02,0x00]
120*9880d681SAndroid Build Coastguard Worker
121*9880d681SAndroid Build Coastguard Worker// TODO: Add test for the rest of v_cmp_*_i32
122*9880d681SAndroid Build Coastguard Worker
123*9880d681SAndroid Build Coastguard Workerv_cmp_f_i64 s[2:3], v[4:5], v[6:7]
124*9880d681SAndroid Build Coastguard Worker// SICI: v_cmp_f_i64_e64 s[2:3], v[4:5], v[6:7] ; encoding: [0x02,0x00,0x40,0xd1,0x04,0x0d,0x02,0x00]
125*9880d681SAndroid Build Coastguard Worker// VI:   v_cmp_f_i64_e64 s[2:3], v[4:5], v[6:7] ; encoding: [0x02,0x00,0xe0,0xd0,0x04,0x0d,0x02,0x00]
126*9880d681SAndroid Build Coastguard Worker
127*9880d681SAndroid Build Coastguard Worker// TODO: Add tests for the rest of the instructions.
128*9880d681SAndroid Build Coastguard Worker
129*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
130*9880d681SAndroid Build Coastguard Worker// VOP1 Instructions
131*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
132*9880d681SAndroid Build Coastguard Worker
133*9880d681SAndroid Build Coastguard Worker// Test forced e64 encoding with e32 operands
134*9880d681SAndroid Build Coastguard Worker
135*9880d681SAndroid Build Coastguard Workerv_mov_b32_e64 v1, v2
136*9880d681SAndroid Build Coastguard Worker// SICI: v_mov_b32_e64 v1, v2 ; encoding: [0x01,0x00,0x02,0xd3,0x02,0x01,0x00,0x00]
137*9880d681SAndroid Build Coastguard Worker// VI:   v_mov_b32_e64 v1, v2 ; encoding: [0x01,0x00,0x41,0xd1,0x02,0x01,0x00,0x00]
138*9880d681SAndroid Build Coastguard Worker
139*9880d681SAndroid Build Coastguard Worker// Force e64 encoding for special instructions.
140*9880d681SAndroid Build Coastguard Worker// FIXME, we should be printing the _e64 suffix for v_nop and v_clrexcp.
141*9880d681SAndroid Build Coastguard Worker
142*9880d681SAndroid Build Coastguard Workerv_nop_e64
143*9880d681SAndroid Build Coastguard Worker// SICI: v_nop ; encoding: [0x00,0x00,0x00,0xd3,0x00,0x00,0x00,0x00]
144*9880d681SAndroid Build Coastguard Worker// VI:   v_nop ; encoding: [0x00,0x00,0x40,0xd1,0x00,0x00,0x00,0x00]
145*9880d681SAndroid Build Coastguard Worker
146*9880d681SAndroid Build Coastguard Workerv_clrexcp_e64
147*9880d681SAndroid Build Coastguard Worker// SICI: v_clrexcp ; encoding: [0x00,0x00,0x82,0xd3,0x00,0x00,0x00,0x00]
148*9880d681SAndroid Build Coastguard Worker// VI:   v_clrexcp ; encoding: [0x00,0x00,0x75,0xd1,0x00,0x00,0x00,0x00]
149*9880d681SAndroid Build Coastguard Worker
150*9880d681SAndroid Build Coastguard Worker//
151*9880d681SAndroid Build Coastguard Worker// Modifier tests:
152*9880d681SAndroid Build Coastguard Worker//
153*9880d681SAndroid Build Coastguard Worker
154*9880d681SAndroid Build Coastguard Workerv_fract_f32 v1, -v2
155*9880d681SAndroid Build Coastguard Worker// SICI: v_fract_f32_e64 v1, -v2 ; encoding: [0x01,0x00,0x40,0xd3,0x02,0x01,0x00,0x20]
156*9880d681SAndroid Build Coastguard Worker// VI:   v_fract_f32_e64 v1, -v2 ; encoding: [0x01,0x00,0x5b,0xd1,0x02,0x01,0x00,0x20]
157*9880d681SAndroid Build Coastguard Worker
158*9880d681SAndroid Build Coastguard Workerv_fract_f32 v1, |v2|
159*9880d681SAndroid Build Coastguard Worker// SICI: v_fract_f32_e64 v1, |v2| ; encoding: [0x01,0x01,0x40,0xd3,0x02,0x01,0x00,0x00]
160*9880d681SAndroid Build Coastguard Worker// VI:   v_fract_f32_e64 v1, |v2| ; encoding: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x00]
161*9880d681SAndroid Build Coastguard Worker
162*9880d681SAndroid Build Coastguard Workerv_fract_f32 v1, abs(v2)
163*9880d681SAndroid Build Coastguard Worker// SICI: v_fract_f32_e64 v1, |v2| ; encoding: [0x01,0x01,0x40,0xd3,0x02,0x01,0x00,0x00]
164*9880d681SAndroid Build Coastguard Worker// VI:   v_fract_f32_e64 v1, |v2| ; encoding: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x00]
165*9880d681SAndroid Build Coastguard Worker
166*9880d681SAndroid Build Coastguard Workerv_fract_f32 v1, -|v2|
167*9880d681SAndroid Build Coastguard Worker// SICI: v_fract_f32_e64 v1, -|v2| ; encoding: [0x01,0x01,0x40,0xd3,0x02,0x01,0x00,0x20]
168*9880d681SAndroid Build Coastguard Worker// VI:   v_fract_f32_e64 v1, -|v2| ; encoding: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x20]
169*9880d681SAndroid Build Coastguard Worker
170*9880d681SAndroid Build Coastguard Workerv_fract_f32 v1, -abs(v2)
171*9880d681SAndroid Build Coastguard Worker// SICI: v_fract_f32_e64 v1, -|v2| ; encoding: [0x01,0x01,0x40,0xd3,0x02,0x01,0x00,0x20]
172*9880d681SAndroid Build Coastguard Worker// VI:   v_fract_f32_e64 v1, -|v2| ; encoding: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x20]
173*9880d681SAndroid Build Coastguard Worker
174*9880d681SAndroid Build Coastguard Workerv_fract_f32 v1, v2 clamp
175*9880d681SAndroid Build Coastguard Worker// SICI: v_fract_f32_e64 v1, v2 clamp ; encoding: [0x01,0x08,0x40,0xd3,0x02,0x01,0x00,0x00]
176*9880d681SAndroid Build Coastguard Worker// VI:   v_fract_f32_e64 v1, v2 clamp ; encoding: [0x01,0x80,0x5b,0xd1,0x02,0x01,0x00,0x00]
177*9880d681SAndroid Build Coastguard Worker
178*9880d681SAndroid Build Coastguard Workerv_fract_f32 v1, v2 mul:2
179*9880d681SAndroid Build Coastguard Worker// SICI: v_fract_f32_e64 v1, v2 mul:2 ; encoding: [0x01,0x00,0x40,0xd3,0x02,0x01,0x00,0x08]
180*9880d681SAndroid Build Coastguard Worker// VI:   v_fract_f32_e64 v1, v2 mul:2 ; encoding: [0x01,0x00,0x5b,0xd1,0x02,0x01,0x00,0x08]
181*9880d681SAndroid Build Coastguard Worker
182*9880d681SAndroid Build Coastguard Workerv_fract_f32 v1, v2, clamp div:2
183*9880d681SAndroid Build Coastguard Worker// SICI: v_fract_f32_e64 v1, v2 clamp div:2 ; encoding: [0x01,0x08,0x40,0xd3,0x02,0x01,0x00,0x18]
184*9880d681SAndroid Build Coastguard Worker// VI:   v_fract_f32_e64 v1, v2 clamp div:2 ; encoding: [0x01,0x80,0x5b,0xd1,0x02,0x01,0x00,0x18]
185*9880d681SAndroid Build Coastguard Worker
186*9880d681SAndroid Build Coastguard Worker// TODO: Finish VOP1
187*9880d681SAndroid Build Coastguard Worker
188*9880d681SAndroid Build Coastguard Worker///===---------------------------------------------------------------------===//
189*9880d681SAndroid Build Coastguard Worker// VOP2 Instructions
190*9880d681SAndroid Build Coastguard Worker///===---------------------------------------------------------------------===//
191*9880d681SAndroid Build Coastguard Worker
192*9880d681SAndroid Build Coastguard Worker// Test forced e64 encoding with e32 operands
193*9880d681SAndroid Build Coastguard Worker
194*9880d681SAndroid Build Coastguard Workerv_add_f32_e64 v1, v3, v5
195*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f32_e64 v1, v3, v5 ; encoding: [0x01,0x00,0x06,0xd2,0x03,0x0b,0x02,0x00]
196*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f32_e64 v1, v3, v5 ; encoding: [0x01,0x00,0x01,0xd1,0x03,0x0b,0x02,0x00]
197*9880d681SAndroid Build Coastguard Worker
198*9880d681SAndroid Build Coastguard Worker
199*9880d681SAndroid Build Coastguard Worker// TODO: Modifier tests
200*9880d681SAndroid Build Coastguard Worker
201*9880d681SAndroid Build Coastguard Workerv_cndmask_b32 v1, v3, v5, s[4:5]
202*9880d681SAndroid Build Coastguard Worker// SICI: v_cndmask_b32_e64 v1, v3, v5, s[4:5] ; encoding: [0x01,0x00,0x00,0xd2,0x03,0x0b,0x12,0x00]
203*9880d681SAndroid Build Coastguard Worker// VI:   v_cndmask_b32_e64 v1, v3, v5, s[4:5] ; encoding: [0x01,0x00,0x00,0xd1,0x03,0x0b,0x12,0x00]
204*9880d681SAndroid Build Coastguard Worker
205*9880d681SAndroid Build Coastguard Workerv_cndmask_b32_e64 v1, v3, v5, s[4:5]
206*9880d681SAndroid Build Coastguard Worker// SICI: v_cndmask_b32_e64 v1, v3, v5, s[4:5] ; encoding: [0x01,0x00,0x00,0xd2,0x03,0x0b,0x12,0x00]
207*9880d681SAndroid Build Coastguard Worker// VI:   v_cndmask_b32_e64 v1, v3, v5, s[4:5] ; encoding: [0x01,0x00,0x00,0xd1,0x03,0x0b,0x12,0x00]
208*9880d681SAndroid Build Coastguard Worker
209*9880d681SAndroid Build Coastguard Workerv_cndmask_b32_e64 v1, v3, v5, vcc
210*9880d681SAndroid Build Coastguard Worker// SICI: v_cndmask_b32_e64 v1, v3, v5, vcc ; encoding: [0x01,0x00,0x00,0xd2,0x03,0x0b,0xaa,0x01]
211*9880d681SAndroid Build Coastguard Worker// VI:   v_cndmask_b32_e64 v1, v3, v5, vcc ; encoding: [0x01,0x00,0x00,0xd1,0x03,0x0b,0xaa,0x01]
212*9880d681SAndroid Build Coastguard Worker
213*9880d681SAndroid Build Coastguard Worker//TODO: readlane, writelane
214*9880d681SAndroid Build Coastguard Worker
215*9880d681SAndroid Build Coastguard Workerv_add_f32 v1, v3, s5
216*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x06,0xd2,0x03,0x0b,0x00,0x00]
217*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x01,0xd1,0x03,0x0b,0x00,0x00]
218*9880d681SAndroid Build Coastguard Worker
219*9880d681SAndroid Build Coastguard Workerv_sub_f32 v1, v3, s5
220*9880d681SAndroid Build Coastguard Worker// SICI: v_sub_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x08,0xd2,0x03,0x0b,0x00,0x00]
221*9880d681SAndroid Build Coastguard Worker// VI:   v_sub_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x02,0xd1,0x03,0x0b,0x00,0x00]
222*9880d681SAndroid Build Coastguard Worker
223*9880d681SAndroid Build Coastguard Workerv_subrev_f32 v1, v3, s5
224*9880d681SAndroid Build Coastguard Worker// SICI: v_subrev_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x0a,0xd2,0x03,0x0b,0x00,0x00]
225*9880d681SAndroid Build Coastguard Worker// VI:   v_subrev_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x03,0xd1,0x03,0x0b,0x00,0x00]
226*9880d681SAndroid Build Coastguard Worker
227*9880d681SAndroid Build Coastguard Workerv_mac_legacy_f32 v1, v3, s5
228*9880d681SAndroid Build Coastguard Worker// SICI: v_mac_legacy_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x0c,0xd2,0x03,0x0b,0x00,0x00]
229*9880d681SAndroid Build Coastguard Worker// NOVI: error: instruction not supported on this GPU
230*9880d681SAndroid Build Coastguard Worker
231*9880d681SAndroid Build Coastguard Workerv_mul_legacy_f32 v1, v3, s5
232*9880d681SAndroid Build Coastguard Worker// SICI: v_mul_legacy_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x0e,0xd2,0x03,0x0b,0x00,0x00]
233*9880d681SAndroid Build Coastguard Worker// VI:   v_mul_legacy_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x04,0xd1,0x03,0x0b,0x00,0x00]
234*9880d681SAndroid Build Coastguard Worker
235*9880d681SAndroid Build Coastguard Workerv_mul_f32 v1, v3, s5
236*9880d681SAndroid Build Coastguard Worker// SICI: v_mul_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x10,0xd2,0x03,0x0b,0x00,0x00]
237*9880d681SAndroid Build Coastguard Worker// VI:   v_mul_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x05,0xd1,0x03,0x0b,0x00,0x00]
238*9880d681SAndroid Build Coastguard Worker
239*9880d681SAndroid Build Coastguard Workerv_mul_i32_i24 v1, v3, s5
240*9880d681SAndroid Build Coastguard Worker// SICI: v_mul_i32_i24_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x12,0xd2,0x03,0x0b,0x00,0x00]
241*9880d681SAndroid Build Coastguard Worker// VI:   v_mul_i32_i24_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x06,0xd1,0x03,0x0b,0x00,0x00]
242*9880d681SAndroid Build Coastguard Worker
243*9880d681SAndroid Build Coastguard Worker///===---------------------------------------------------------------------===//
244*9880d681SAndroid Build Coastguard Worker// VOP3 Instructions
245*9880d681SAndroid Build Coastguard Worker///===---------------------------------------------------------------------===//
246*9880d681SAndroid Build Coastguard Worker
247*9880d681SAndroid Build Coastguard Worker// TODO: Modifier tests
248*9880d681SAndroid Build Coastguard Worker
249*9880d681SAndroid Build Coastguard Workerv_mad_legacy_f32 v2, v4, v6, v8
250*9880d681SAndroid Build Coastguard Worker// SICI: v_mad_legacy_f32 v2, v4, v6, v8 ; encoding: [0x02,0x00,0x80,0xd2,0x04,0x0d,0x22,0x04]
251*9880d681SAndroid Build Coastguard Worker// VI:   v_mad_legacy_f32 v2, v4, v6, v8 ; encoding: [0x02,0x00,0xc0,0xd1,0x04,0x0d,0x22,0x04]
252*9880d681SAndroid Build Coastguard Worker
253*9880d681SAndroid Build Coastguard Workerv_add_f64 v[0:1], v[2:3], v[5:6]
254*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], v[2:3], v[5:6] ; encoding: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x00]
255*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], v[2:3], v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x00]
256*9880d681SAndroid Build Coastguard Worker
257*9880d681SAndroid Build Coastguard Workerv_add_f64_e64 v[0:1], v[2:3], v[5:6]
258*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], v[2:3], v[5:6] ; encoding: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x00]
259*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], v[2:3], v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x00]
260*9880d681SAndroid Build Coastguard Worker
261*9880d681SAndroid Build Coastguard Workerv_add_f64 v[0:1], -v[2:3], v[5:6]
262*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], -v[2:3], v[5:6] ; encoding: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x20]
263*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], -v[2:3], v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x20]
264*9880d681SAndroid Build Coastguard Worker
265*9880d681SAndroid Build Coastguard Workerv_add_f64_e64 v[0:1], -v[2:3], v[5:6]
266*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], -v[2:3], v[5:6] ; encoding: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x20]
267*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], -v[2:3], v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x20]
268*9880d681SAndroid Build Coastguard Worker
269*9880d681SAndroid Build Coastguard Workerv_add_f64 v[0:1], v[2:3], -v[5:6]
270*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], v[2:3], -v[5:6] ; encoding: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x40]
271*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], v[2:3], -v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x40]
272*9880d681SAndroid Build Coastguard Worker
273*9880d681SAndroid Build Coastguard Workerv_add_f64_e64 v[0:1], v[2:3], -v[5:6]
274*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], v[2:3], -v[5:6] ; encoding: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x40]
275*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], v[2:3], -v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x40]
276*9880d681SAndroid Build Coastguard Worker
277*9880d681SAndroid Build Coastguard Workerv_add_f64 v[0:1], |v[2:3]|, v[5:6]
278*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0xc8,0xd2,0x02,0x0b,0x02,0x00]
279*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]
280*9880d681SAndroid Build Coastguard Worker
281*9880d681SAndroid Build Coastguard Workerv_add_f64 v[0:1], abs(v[2:3]), v[5:6]
282*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0xc8,0xd2,0x02,0x0b,0x02,0x00]
283*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]
284*9880d681SAndroid Build Coastguard Worker
285*9880d681SAndroid Build Coastguard Workerv_add_f64_e64 v[0:1], |v[2:3]|, v[5:6]
286*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0xc8,0xd2,0x02,0x0b,0x02,0x00]
287*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]
288*9880d681SAndroid Build Coastguard Worker
289*9880d681SAndroid Build Coastguard Workerv_add_f64_e64 v[0:1], abs(v[2:3]), v[5:6]
290*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0xc8,0xd2,0x02,0x0b,0x02,0x00]
291*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]
292*9880d681SAndroid Build Coastguard Worker
293*9880d681SAndroid Build Coastguard Workerv_add_f64 v[0:1], v[2:3], |v[5:6]|
294*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0xc8,0xd2,0x02,0x0b,0x02,0x00]
295*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]
296*9880d681SAndroid Build Coastguard Worker
297*9880d681SAndroid Build Coastguard Workerv_add_f64 v[0:1], v[2:3], abs(v[5:6])
298*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0xc8,0xd2,0x02,0x0b,0x02,0x00]
299*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]
300*9880d681SAndroid Build Coastguard Worker
301*9880d681SAndroid Build Coastguard Workerv_add_f64_e64 v[0:1], v[2:3], |v[5:6]|
302*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0xc8,0xd2,0x02,0x0b,0x02,0x00]
303*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]
304*9880d681SAndroid Build Coastguard Worker
305*9880d681SAndroid Build Coastguard Workerv_add_f64_e64 v[0:1], v[2:3], abs(v[5:6])
306*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0xc8,0xd2,0x02,0x0b,0x02,0x00]
307*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]
308*9880d681SAndroid Build Coastguard Worker
309*9880d681SAndroid Build Coastguard Workerv_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4
310*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x0a,0xc8,0xd2,0x02,0x0b,0x02,0x30]
311*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]
312*9880d681SAndroid Build Coastguard Worker
313*9880d681SAndroid Build Coastguard Workerv_add_f64 v[0:1], -v[2:3], abs(v[5:6]) clamp mul:4
314*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x0a,0xc8,0xd2,0x02,0x0b,0x02,0x30]
315*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]
316*9880d681SAndroid Build Coastguard Worker
317*9880d681SAndroid Build Coastguard Workerv_add_f64_e64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4
318*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x0a,0xc8,0xd2,0x02,0x0b,0x02,0x30]
319*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]
320*9880d681SAndroid Build Coastguard Worker
321*9880d681SAndroid Build Coastguard Workerv_add_f64_e64 v[0:1], -v[2:3], abs(v[5:6]) clamp mul:4
322*9880d681SAndroid Build Coastguard Worker// SICI: v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x0a,0xc8,0xd2,0x02,0x0b,0x02,0x30]
323*9880d681SAndroid Build Coastguard Worker// VI:   v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]
324*9880d681SAndroid Build Coastguard Worker
325*9880d681SAndroid Build Coastguard Workerv_div_scale_f64  v[24:25], vcc, v[22:23], v[22:23], v[20:21]
326*9880d681SAndroid Build Coastguard Worker// SICI: v_div_scale_f64 v[24:25], vcc, v[22:23], v[22:23], v[20:21] ; encoding: [0x18,0x6a,0xdc,0xd2,0x16,0x2d,0x52,0x04]
327*9880d681SAndroid Build Coastguard Worker// VI:   v_div_scale_f64 v[24:25], vcc, v[22:23], v[22:23], v[20:21] ; encoding: [0x18,0x6a,0xe1,0xd1,0x16,0x2d,0x52,0x04]
328*9880d681SAndroid Build Coastguard Worker
329*9880d681SAndroid Build Coastguard Workerv_div_scale_f64  v[24:25], s[10:11], v[22:23], v[20:21], v[20:21]
330*9880d681SAndroid Build Coastguard Worker// SICI: v_div_scale_f64 v[24:25], s[10:11], v[22:23], v[20:21], v[20:21] ; encoding: [0x18,0x0a,0xdc,0xd2,0x16,0x29,0x52,0x04]
331*9880d681SAndroid Build Coastguard Worker// VI:   v_div_scale_f64 v[24:25], s[10:11], v[22:23], v[20:21], v[20:21] ; encoding: [0x18,0x0a,0xe1,0xd1,0x16,0x29,0x52,0x04]
332*9880d681SAndroid Build Coastguard Worker
333*9880d681SAndroid Build Coastguard Workerv_div_scale_f32  v24, vcc, v22, v22, v20
334*9880d681SAndroid Build Coastguard Worker// SICI: v_div_scale_f32 v24, vcc, v22, v22, v20 ; encoding: [0x18,0x6a,0xda,0xd2,0x16,0x2d,0x52,0x04]
335*9880d681SAndroid Build Coastguard Worker// VI:   v_div_scale_f32 v24, vcc, v22, v22, v20 ; encoding: [0x18,0x6a,0xe0,0xd1,0x16,0x2d,0x52,0x04]
336*9880d681SAndroid Build Coastguard Worker
337*9880d681SAndroid Build Coastguard Workerv_div_scale_f32  v24, vcc, s[10:11], v22, v20
338*9880d681SAndroid Build Coastguard Worker// SICI: v_div_scale_f32 v24, vcc, s[10:11], v22, v20 ; encoding: [0x18,0x6a,0xda,0xd2,0x0a,0x2c,0x52,0x04]
339*9880d681SAndroid Build Coastguard Worker// VI:   v_div_scale_f32 v24, vcc, s[10:11], v22, v20 ; encoding: [0x18,0x6a,0xe0,0xd1,0x0a,0x2c,0x52,0x04]
340*9880d681SAndroid Build Coastguard Worker
341*9880d681SAndroid Build Coastguard Workerv_div_scale_f32  v24, s[10:11], v22, v22, v20
342*9880d681SAndroid Build Coastguard Worker// SICI: v_div_scale_f32 v24, s[10:11], v22, v22, v20 ; encoding: [0x18,0x0a,0xda,0xd2,0x16,0x2d,0x52,0x04]
343*9880d681SAndroid Build Coastguard Worker// VI:   v_div_scale_f32 v24, s[10:11], v22, v22, v20 ; encoding: [0x18,0x0a,0xe0,0xd1,0x16,0x2d,0x52,0x04]
344*9880d681SAndroid Build Coastguard Worker
345*9880d681SAndroid Build Coastguard Workerv_div_scale_f32  v24, vcc, v22, 1.0, v22
346*9880d681SAndroid Build Coastguard Worker// SICI: v_div_scale_f32 v24, vcc, v22, 1.0, v22 ; encoding: [0x18,0x6a,0xda,0xd2,0x16,0xe5,0x59,0x04]
347*9880d681SAndroid Build Coastguard Worker// VI:   v_div_scale_f32 v24, vcc, v22, 1.0, v22 ; encoding: [0x18,0x6a,0xe0,0xd1,0x16,0xe5,0x59,0x04]
348*9880d681SAndroid Build Coastguard Worker
349*9880d681SAndroid Build Coastguard Workerv_div_scale_f32  v24, vcc, v22, v22, -2.0
350*9880d681SAndroid Build Coastguard Worker// SICI: v_div_scale_f32 v24, vcc, v22, v22, -2.0 ; encoding: [0x18,0x6a,0xda,0xd2,0x16,0x2d,0xd2,0x83]
351*9880d681SAndroid Build Coastguard Worker// VI:   v_div_scale_f32 v24, vcc, v22, v22, -2.0 ; encoding: [0x18,0x6a,0xe0,0xd1,0x16,0x2d,0xd2,0x83]
352*9880d681SAndroid Build Coastguard Worker
353*9880d681SAndroid Build Coastguard Workerv_div_scale_f32 v24, vcc, v22, v22, 0xc0000000
354*9880d681SAndroid Build Coastguard Worker// SICI: v_div_scale_f32 v24, vcc, v22, v22, -2.0 ; encoding: [0x18,0x6a,0xda,0xd2,0x16,0x2d,0xd6,0x03]
355*9880d681SAndroid Build Coastguard Worker// VI:   v_div_scale_f32 v24, vcc, v22, v22, -2.0 ; encoding: [0x18,0x6a,0xe0,0xd1,0x16,0x2d,0xd6,0x03]
356*9880d681SAndroid Build Coastguard Worker
357*9880d681SAndroid Build Coastguard Workerv_mad_f32 v9, 0.5, v5, -v8
358*9880d681SAndroid Build Coastguard Worker// SICI: v_mad_f32 v9, 0.5, v5, -v8      ; encoding: [0x09,0x00,0x82,0xd2,0xf0,0x0a,0x22,0x84]
359*9880d681SAndroid Build Coastguard Worker// VI:   v_mad_f32 v9, 0.5, v5, -v8      ; encoding: [0x09,0x00,0xc1,0xd1,0xf0,0x0a,0x22,0x84]
360