1 ; RUN: opt -instcombine %s | llvm-dis | FileCheck %s
2 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"
4 define i32 @test_as0(i32 addrspace(0)* %A) {
6 ; CHECK: %arrayidx = getelementptr i32* %A, i32 1
7 %arrayidx = getelementptr i32 addrspace(0)* %A, i64 1
8 %y = load i32 addrspace(0)* %arrayidx, align 4
12 define i32 @test_as1(i32 addrspace(1)* %A) {
14 ; CHECK: %arrayidx = getelementptr i32 addrspace(1)* %A, i64 1
15 %arrayidx = getelementptr i32 addrspace(1)* %A, i32 1
16 %y = load i32 addrspace(1)* %arrayidx, align 4
20 define i32 @test_as2(i32 addrspace(2)* %A) {
22 ; CHECK: %arrayidx = getelementptr i32 addrspace(2)* %A, i8 1
23 %arrayidx = getelementptr i32 addrspace(2)* %A, i32 1
24 %y = load i32 addrspace(2)* %arrayidx, align 4
28 define i32 @test_as3(i32 addrspace(3)* %A) {
30 ; CHECK: %arrayidx = getelementptr i32 addrspace(3)* %A, i16 1
31 %arrayidx = getelementptr i32 addrspace(3)* %A, i32 1
32 %y = load i32 addrspace(3)* %arrayidx, align 4
36 define i32 @test_as4(i32 addrspace(4)* %A) {
38 ; CHECK: %arrayidx = getelementptr i32 addrspace(4)* %A, i96 1
39 %arrayidx = getelementptr i32 addrspace(4)* %A, i32 1
40 %y = load i32 addrspace(4)* %arrayidx, align 4