brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 5925147 Raw
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