Index: test/Other/multi-pointer-size.ll =================================================================== --- test/Other/multi-pointer-size.ll (revision 0) +++ test/Other/multi-pointer-size.ll (working copy) @@ -0,0 +1,43 @@ +; RUN: opt -std-compile-opts %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 +} +