1
1
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2
- ; RUN: llc < %s -mtriple=amdgcn -mcpu=gfx90a -verify-machineinstrs | FileCheck %s
2
+ ; RUN: llc < %s -mtriple=amdgcn -mcpu=gfx90a | FileCheck %s
3
3
4
4
define amdgpu_kernel void @copy_to_reg_frameindex (ptr addrspace (1 ) %out , i32 %a , i32 %b , i32 %c ) {
5
5
; CHECK-LABEL: copy_to_reg_frameindex:
@@ -20,19 +20,18 @@ define amdgpu_kernel void @copy_to_reg_frameindex(ptr addrspace(1) %out, i32 %a,
20
20
; CHECK-NEXT: s_endpgm
21
21
entry:
22
22
%B = srem i32 %c , -1
23
- %alloca = alloca [16 x i32 ], align 4 , addrspace (5 )
24
23
br label %loop
25
24
26
25
loop:
26
+ %promotealloca = phi <16 x i32 > [ undef , %entry ], [ %0 , %loop ]
27
27
%inc = phi i32 [ 0 , %entry ], [ %inc.i , %loop ]
28
- %ptr = getelementptr [16 x i32 ], ptr addrspace (5 ) %alloca , i32 0 , i32 %inc
29
- store i32 %inc , ptr addrspace (5 ) %ptr , align 4
28
+ %0 = insertelement <16 x i32 > %promotealloca , i32 %inc , i32 %inc
30
29
%inc.i = add i32 %inc , %B
31
30
%cnd = icmp uge i32 %inc.i , 16
32
31
br i1 %cnd , label %done , label %loop
33
32
34
33
done:
35
- %tmp1 = load i32 , ptr addrspace ( 5 ) %alloca , align 4
36
- store i32 %tmp1 , ptr addrspace (1 ) %out , align 4
34
+ %1 = extractelement < 16 x i32 > %0 , i32 0
35
+ store i32 %1 , ptr addrspace (1 ) %out , align 4
37
36
ret void
38
37
}
0 commit comments