36 lines · plain
1; RUN: llc --filetype=obj %s -o - | dxil-dis -o - | FileCheck %s2target triple = "dxil-unknown-shadermodel6.7-library"3 4; CHECK: [[GLOBAL:@.*]] = unnamed_addr addrspace(3) global [10 x i32] zeroinitializer, align 45@g = local_unnamed_addr addrspace(3) global [10 x i32] zeroinitializer, align 46 7define i32 @fn() #0 {8; CHECK-LABEL: define i32 @fn()9; CHECK-NEXT: [[LOAD:%.*]] = load i32, i32 addrspace(3)* getelementptr inbounds ([10 x i32], [10 x i32] addrspace(3)* [[GLOBAL]], i32 0, i32 1), align 410; CHECK-NEXT: ret i32 [[LOAD]]11;12 %gep = getelementptr [10 x i32], ptr addrspace(3) @g, i32 0, i32 113 %ld = load i32, ptr addrspace(3) %gep, align 414 ret i32 %ld15}16 17define i32 @fn2() #0 {18; CHECK-LABEL: define i32 @fn2()19; CHECK-NEXT: [[LOAD:%.*]] = load i32, i32 addrspace(3)* getelementptr inbounds ([10 x i32], [10 x i32] addrspace(3)* [[GLOBAL]], i32 0, i32 2), align 420; CHECK-NEXT: ret i32 [[LOAD]]21;22 %ld = load i32, ptr addrspace(3) getelementptr ([10 x i32], ptr addrspace(3) @g, i32 0, i32 2), align 423 ret i32 %ld24}25 26define i32 @fn3() #0 {27; CHECK-LABEL: define i32 @fn3()28; CHECK-NEXT: [[LOAD:%.*]] = load i32, i32 addrspace(3)* getelementptr inbounds ([10 x i32], [10 x i32] addrspace(3)* [[GLOBAL]], i32 0, i32 3), align 429; CHECK-NEXT: ret i32 [[LOAD]]30;31 %ld = load i32, ptr addrspace(3) getelementptr (i8, ptr addrspace(3) @g, i32 12), align 432 ret i32 %ld33}34 35attributes #0 = { "hlsl.export" }36