11; 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
33
44define amdgpu_kernel void @copy_to_reg_frameindex (ptr addrspace (1 ) %out , i32 %a , i32 %b , i32 %c ) {
55; CHECK-LABEL: copy_to_reg_frameindex:
@@ -20,19 +20,18 @@ define amdgpu_kernel void @copy_to_reg_frameindex(ptr addrspace(1) %out, i32 %a,
2020; CHECK-NEXT: s_endpgm
2121entry:
2222 %B = srem i32 %c , -1
23- %alloca = alloca [16 x i32 ], align 4 , addrspace (5 )
2423 br label %loop
2524
2625loop:
26+ %promotealloca = phi <16 x i32 > [ undef , %entry ], [ %0 , %loop ]
2727 %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
3029 %inc.i = add i32 %inc , %B
3130 %cnd = icmp uge i32 %inc.i , 16
3231 br i1 %cnd , label %done , label %loop
3332
3433done:
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
3736 ret void
3837}
0 commit comments