@@ -2176,93 +2176,6 @@ define void @void_func_a5i32_inreg([5 x i32] inreg %arg0, ptr addrspace(1) %ptr)
2176
2176
declare void @extern ()
2177
2177
2178
2178
define void @void_func_a13i32_inreg ([13 x i32 ] inreg %arg0 , ptr addrspace (1 ) %ptr ) {
2179
- ; GFX9-LABEL: void_func_a13i32_inreg:
2180
- ; GFX9: ; %bb.0:
2181
- ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2182
- ; GFX9-NEXT: s_mov_b32 s27, s33
2183
- ; GFX9-NEXT: s_mov_b32 s33, s32
2184
- ; GFX9-NEXT: s_or_saveexec_b64 s[28:29], -1
2185
- ; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s33 ; 4-byte Folded Spill
2186
- ; GFX9-NEXT: s_mov_b64 exec, s[28:29]
2187
- ; GFX9-NEXT: v_mov_b32_e32 v2, s26
2188
- ; GFX9-NEXT: global_store_dword v[0:1], v2, off offset:48
2189
- ; GFX9-NEXT: v_mov_b32_e32 v5, s25
2190
- ; GFX9-NEXT: v_mov_b32_e32 v4, s24
2191
- ; GFX9-NEXT: v_mov_b32_e32 v3, s23
2192
- ; GFX9-NEXT: v_mov_b32_e32 v2, s22
2193
- ; GFX9-NEXT: s_addk_i32 s32, 0x400
2194
- ; GFX9-NEXT: global_store_dwordx4 v[0:1], v[2:5], off offset:32
2195
- ; GFX9-NEXT: v_writelane_b32 v40, s27, 2
2196
- ; GFX9-NEXT: v_mov_b32_e32 v5, s21
2197
- ; GFX9-NEXT: v_mov_b32_e32 v4, s20
2198
- ; GFX9-NEXT: v_mov_b32_e32 v3, s19
2199
- ; GFX9-NEXT: v_mov_b32_e32 v2, s18
2200
- ; GFX9-NEXT: global_store_dwordx4 v[0:1], v[2:5], off offset:16
2201
- ; GFX9-NEXT: v_writelane_b32 v40, s30, 0
2202
- ; GFX9-NEXT: v_mov_b32_e32 v5, s17
2203
- ; GFX9-NEXT: v_mov_b32_e32 v4, s16
2204
- ; GFX9-NEXT: s_getpc_b64 s[16:17]
2205
- ; GFX9-NEXT: s_add_u32 s16, s16, extern@gotpcrel32@lo+4
2206
- ; GFX9-NEXT: s_addc_u32 s17, s17, extern@gotpcrel32@hi+12
2207
- ; GFX9-NEXT: s_load_dwordx2 s[16:17], s[16:17], 0x0
2208
- ; GFX9-NEXT: v_mov_b32_e32 v3, s7
2209
- ; GFX9-NEXT: v_mov_b32_e32 v2, s6
2210
- ; GFX9-NEXT: v_writelane_b32 v40, s31, 1
2211
- ; GFX9-NEXT: global_store_dwordx4 v[0:1], v[2:5], off
2212
- ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
2213
- ; GFX9-NEXT: s_swappc_b64 s[30:31], s[16:17]
2214
- ; GFX9-NEXT: v_readlane_b32 s31, v40, 1
2215
- ; GFX9-NEXT: v_readlane_b32 s30, v40, 0
2216
- ; GFX9-NEXT: v_readlane_b32 s4, v40, 2
2217
- ; GFX9-NEXT: s_or_saveexec_b64 s[6:7], -1
2218
- ; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s33 ; 4-byte Folded Reload
2219
- ; GFX9-NEXT: s_mov_b64 exec, s[6:7]
2220
- ; GFX9-NEXT: s_addk_i32 s32, 0xfc00
2221
- ; GFX9-NEXT: s_mov_b32 s33, s4
2222
- ; GFX9-NEXT: s_waitcnt vmcnt(0)
2223
- ; GFX9-NEXT: s_setpc_b64 s[30:31]
2224
- ;
2225
- ; GFX11-LABEL: void_func_a13i32_inreg:
2226
- ; GFX11: ; %bb.0:
2227
- ; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2228
- ; GFX11-NEXT: s_mov_b32 s23, s33
2229
- ; GFX11-NEXT: s_mov_b32 s33, s32
2230
- ; GFX11-NEXT: s_or_saveexec_b32 s24, -1
2231
- ; GFX11-NEXT: scratch_store_b32 off, v40, s33 ; 4-byte Folded Spill
2232
- ; GFX11-NEXT: s_mov_b32 exec_lo, s24
2233
- ; GFX11-NEXT: s_add_i32 s32, s32, 16
2234
- ; GFX11-NEXT: v_dual_mov_b32 v4, s20 :: v_dual_mov_b32 v3, s19
2235
- ; GFX11-NEXT: v_dual_mov_b32 v2, s18 :: v_dual_mov_b32 v9, s17
2236
- ; GFX11-NEXT: s_getpc_b64 s[18:19]
2237
- ; GFX11-NEXT: s_add_u32 s18, s18, extern@gotpcrel32@lo+4
2238
- ; GFX11-NEXT: s_addc_u32 s19, s19, extern@gotpcrel32@hi+12
2239
- ; GFX11-NEXT: v_dual_mov_b32 v8, s16 :: v_dual_mov_b32 v7, s7
2240
- ; GFX11-NEXT: s_load_b64 s[16:17], s[18:19], 0x0
2241
- ; GFX11-NEXT: v_writelane_b32 v40, s23, 2
2242
- ; GFX11-NEXT: v_dual_mov_b32 v14, s22 :: v_dual_mov_b32 v5, s21
2243
- ; GFX11-NEXT: v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v13, s3
2244
- ; GFX11-NEXT: v_writelane_b32 v40, s30, 0
2245
- ; GFX11-NEXT: v_dual_mov_b32 v12, s2 :: v_dual_mov_b32 v11, s1
2246
- ; GFX11-NEXT: v_mov_b32_e32 v10, s0
2247
- ; GFX11-NEXT: s_clause 0x3
2248
- ; GFX11-NEXT: global_store_b32 v[0:1], v14, off offset:48
2249
- ; GFX11-NEXT: global_store_b128 v[0:1], v[2:5], off offset:32
2250
- ; GFX11-NEXT: global_store_b128 v[0:1], v[6:9], off offset:16
2251
- ; GFX11-NEXT: global_store_b128 v[0:1], v[10:13], off
2252
- ; GFX11-NEXT: v_writelane_b32 v40, s31, 1
2253
- ; GFX11-NEXT: s_waitcnt lgkmcnt(0)
2254
- ; GFX11-NEXT: s_swappc_b64 s[30:31], s[16:17]
2255
- ; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1)
2256
- ; GFX11-NEXT: v_readlane_b32 s31, v40, 1
2257
- ; GFX11-NEXT: v_readlane_b32 s30, v40, 0
2258
- ; GFX11-NEXT: v_readlane_b32 s0, v40, 2
2259
- ; GFX11-NEXT: s_or_saveexec_b32 s1, -1
2260
- ; GFX11-NEXT: scratch_load_b32 v40, off, s33 ; 4-byte Folded Reload
2261
- ; GFX11-NEXT: s_mov_b32 exec_lo, s1
2262
- ; GFX11-NEXT: s_add_i32 s32, s32, -16
2263
- ; GFX11-NEXT: s_mov_b32 s33, s0
2264
- ; GFX11-NEXT: s_waitcnt vmcnt(0)
2265
- ; GFX11-NEXT: s_setpc_b64 s[30:31]
2266
2179
store [13 x i32 ] %arg0 , ptr addrspace (1 ) %ptr
2267
2180
call void @extern ()
2268
2181
ret void
@@ -2290,52 +2203,6 @@ define void @void_func_a13i32_inreg([13 x i32] inreg %arg0, ptr addrspace(1) %p
2290
2203
2291
2204
; FIXME: Should still fail
2292
2205
define void @void_func_a16i32_inreg__noimplicit ([16 x i32 ] inreg %arg0 , ptr addrspace (1 ) %ptr ) {
2293
- ; GFX9-LABEL: void_func_a16i32_inreg__noimplicit:
2294
- ; GFX9: ; %bb.0:
2295
- ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2296
- ; GFX9-NEXT: v_mov_b32_e32 v5, s19
2297
- ; GFX9-NEXT: v_mov_b32_e32 v4, s18
2298
- ; GFX9-NEXT: v_mov_b32_e32 v3, s17
2299
- ; GFX9-NEXT: v_mov_b32_e32 v2, s16
2300
- ; GFX9-NEXT: global_store_dwordx4 v[0:1], v[2:5], off offset:48
2301
- ; GFX9-NEXT: s_nop 0
2302
- ; GFX9-NEXT: v_mov_b32_e32 v5, s15
2303
- ; GFX9-NEXT: v_mov_b32_e32 v4, s14
2304
- ; GFX9-NEXT: v_mov_b32_e32 v3, s13
2305
- ; GFX9-NEXT: v_mov_b32_e32 v2, s12
2306
- ; GFX9-NEXT: global_store_dwordx4 v[0:1], v[2:5], off offset:32
2307
- ; GFX9-NEXT: s_nop 0
2308
- ; GFX9-NEXT: v_mov_b32_e32 v5, s11
2309
- ; GFX9-NEXT: v_mov_b32_e32 v4, s10
2310
- ; GFX9-NEXT: v_mov_b32_e32 v3, s9
2311
- ; GFX9-NEXT: v_mov_b32_e32 v2, s8
2312
- ; GFX9-NEXT: global_store_dwordx4 v[0:1], v[2:5], off offset:16
2313
- ; GFX9-NEXT: s_nop 0
2314
- ; GFX9-NEXT: v_mov_b32_e32 v5, s7
2315
- ; GFX9-NEXT: v_mov_b32_e32 v4, s6
2316
- ; GFX9-NEXT: v_mov_b32_e32 v3, s5
2317
- ; GFX9-NEXT: v_mov_b32_e32 v2, s4
2318
- ; GFX9-NEXT: global_store_dwordx4 v[0:1], v[2:5], off
2319
- ; GFX9-NEXT: s_waitcnt vmcnt(0)
2320
- ; GFX9-NEXT: s_setpc_b64 s[30:31]
2321
- ;
2322
- ; GFX11-LABEL: void_func_a16i32_inreg__noimplicit:
2323
- ; GFX11: ; %bb.0:
2324
- ; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2325
- ; GFX11-NEXT: v_dual_mov_b32 v5, s15 :: v_dual_mov_b32 v4, s14
2326
- ; GFX11-NEXT: v_dual_mov_b32 v3, s13 :: v_dual_mov_b32 v2, s12
2327
- ; GFX11-NEXT: v_dual_mov_b32 v9, s11 :: v_dual_mov_b32 v8, s10
2328
- ; GFX11-NEXT: v_dual_mov_b32 v7, s9 :: v_dual_mov_b32 v6, s8
2329
- ; GFX11-NEXT: v_dual_mov_b32 v13, s7 :: v_dual_mov_b32 v12, s6
2330
- ; GFX11-NEXT: v_dual_mov_b32 v11, s5 :: v_dual_mov_b32 v10, s4
2331
- ; GFX11-NEXT: v_dual_mov_b32 v17, s3 :: v_dual_mov_b32 v16, s2
2332
- ; GFX11-NEXT: v_dual_mov_b32 v15, s1 :: v_dual_mov_b32 v14, s0
2333
- ; GFX11-NEXT: s_clause 0x3
2334
- ; GFX11-NEXT: global_store_b128 v[0:1], v[2:5], off offset:48
2335
- ; GFX11-NEXT: global_store_b128 v[0:1], v[6:9], off offset:32
2336
- ; GFX11-NEXT: global_store_b128 v[0:1], v[10:13], off offset:16
2337
- ; GFX11-NEXT: global_store_b128 v[0:1], v[14:17], off
2338
- ; GFX11-NEXT: s_setpc_b64 s[30:31]
2339
2206
store [16 x i32 ] %arg0 , ptr addrspace (1 ) %ptr
2340
2207
ret void
2341
2208
}
0 commit comments