xref: /llvm-project/llvm/test/CodeGen/Hexagon/store-constant.ll (revision 2208c97c1bec2512d4e47b6223db6d95a7037956)
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s
2;
3; Generate stores with assignment of constant values.
4
5; CHECK: memw{{.*}} = {{.*}}#0
6; CHECK: memw{{.*}} = {{.*}}#1
7; CHECK: memh{{.*}} = {{.*}}#2
8; CHECK: memh{{.*}} = {{.*}}#3
9; CHECK: memb{{.*}} = {{.*}}#4
10; CHECK: memb{{.*}} = {{.*}}#5
11
12define void @f0(ptr nocapture %a0) #0 {
13b0:
14  store i32 0, ptr %a0, align 4
15  ret void
16}
17
18define void @f1(ptr nocapture %a0) #0 {
19b0:
20  %v0 = getelementptr inbounds i32, ptr %a0, i32 1
21  store i32 1, ptr %v0, align 4
22  ret void
23}
24
25define void @f2(ptr nocapture %a0) #0 {
26b0:
27  store i16 2, ptr %a0, align 2
28  ret void
29}
30
31define void @f3(ptr nocapture %a0) #0 {
32b0:
33  %v0 = getelementptr inbounds i16, ptr %a0, i32 2
34  store i16 3, ptr %v0, align 2
35  ret void
36}
37
38define void @f4(ptr nocapture %a0) #0 {
39b0:
40  store i8 4, ptr %a0, align 1
41  ret void
42}
43
44define void @f5(ptr nocapture %a0) #0 {
45b0:
46  %v0 = getelementptr inbounds i8, ptr %a0, i32 2
47  store i8 5, ptr %v0, align 1
48  ret void
49}
50
51attributes #0 = { nounwind }
52