xref: /aosp_15_r20/external/llvm/test/CodeGen/Hexagon/mem-fi-add.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -O2 < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; Look for four stores directly via r29.
3*9880d681SAndroid Build Coastguard Worker; CHECK: memd(r29
4*9880d681SAndroid Build Coastguard Worker; CHECK: memd(r29
5*9880d681SAndroid Build Coastguard Worker; CHECK: memd(r29
6*9880d681SAndroid Build Coastguard Worker; CHECK: memd(r29
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-m:e-p:32:32-i1:32-i64:64-a:0-v32:32-n16:32"
9*9880d681SAndroid Build Coastguard Workertarget triple = "hexagon"
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind
12*9880d681SAndroid Build Coastguard Workerdefine void @foo() #0 {
13*9880d681SAndroid Build Coastguard Workerentry:
14*9880d681SAndroid Build Coastguard Worker  %t = alloca [4 x [2 x i32]], align 8
15*9880d681SAndroid Build Coastguard Worker  %0 = bitcast [4 x [2 x i32]]* %t to i8*
16*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p0i8.i32(i8* %0, i8 0, i32 32, i32 8, i1 false)
17*9880d681SAndroid Build Coastguard Worker  %arraydecay = getelementptr inbounds [4 x [2 x i32]], [4 x [2 x i32]]* %t, i32 0, i32 0
18*9880d681SAndroid Build Coastguard Worker  call void @bar([2 x i32]* %arraydecay) #1
19*9880d681SAndroid Build Coastguard Worker  ret void
20*9880d681SAndroid Build Coastguard Worker}
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind
23*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) #1
24*9880d681SAndroid Build Coastguard Worker
25*9880d681SAndroid Build Coastguard Workerdeclare void @bar([2 x i32]*) #2
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Workerattributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
28*9880d681SAndroid Build Coastguard Workerattributes #1 = { nounwind }
29*9880d681SAndroid Build Coastguard Workerattributes #2 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
30