aboutsummaryrefslogtreecommitdiffstats
path: root/test/Other/multi-pointer-size.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Other/multi-pointer-size.ll')
-rw-r--r--test/Other/multi-pointer-size.ll43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/Other/multi-pointer-size.ll b/test/Other/multi-pointer-size.ll
new file mode 100644
index 0000000..95fa54b
--- /dev/null
+++ b/test/Other/multi-pointer-size.ll
@@ -0,0 +1,43 @@
+; RUN: opt -instcombine %s | llvm-dis | FileCheck %s
+target datalayout = "e-p:32:32:32-p1:64:64:64-p2:8:8:8-p3:16:16:16--p4:96:96:96-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:32"
+
+define i32 @test_as0(i32 addrspace(0)* %A) {
+entry:
+; CHECK: %arrayidx = getelementptr i32* %A, i32 1
+ %arrayidx = getelementptr i32 addrspace(0)* %A, i64 1
+ %y = load i32 addrspace(0)* %arrayidx, align 4
+ ret i32 %y
+}
+
+define i32 @test_as1(i32 addrspace(1)* %A) {
+entry:
+; CHECK: %arrayidx = getelementptr i32 addrspace(1)* %A, i64 1
+ %arrayidx = getelementptr i32 addrspace(1)* %A, i32 1
+ %y = load i32 addrspace(1)* %arrayidx, align 4
+ ret i32 %y
+}
+
+define i32 @test_as2(i32 addrspace(2)* %A) {
+entry:
+; CHECK: %arrayidx = getelementptr i32 addrspace(2)* %A, i8 1
+ %arrayidx = getelementptr i32 addrspace(2)* %A, i32 1
+ %y = load i32 addrspace(2)* %arrayidx, align 4
+ ret i32 %y
+}
+
+define i32 @test_as3(i32 addrspace(3)* %A) {
+entry:
+; CHECK: %arrayidx = getelementptr i32 addrspace(3)* %A, i16 1
+ %arrayidx = getelementptr i32 addrspace(3)* %A, i32 1
+ %y = load i32 addrspace(3)* %arrayidx, align 4
+ ret i32 %y
+}
+
+define i32 @test_as4(i32 addrspace(4)* %A) {
+entry:
+; CHECK: %arrayidx = getelementptr i32 addrspace(4)* %A, i96 1
+ %arrayidx = getelementptr i32 addrspace(4)* %A, i32 1
+ %y = load i32 addrspace(4)* %arrayidx, align 4
+ ret i32 %y
+}
+