xref: /llvm-project/llvm/test/CodeGen/DirectX/omit-bitcast-insert.ll (revision ab7518050183162f09724ef8682a580cc68709bc)
1f5d054cdSChris Bieneman; RUN: llc --filetype=asm %s -o - | FileCheck %s
2208d0f04SXiang Litarget triple = "dxil-unknown-shadermodel6.7-library"
3f5d054cdSChris Bieneman
4*ab751805SGreg Rothdefine i64 @test(ptr %p) #0 {
5f5d054cdSChris Bieneman  %v = load i64, ptr %p
6f5d054cdSChris Bieneman  ret i64 %v
7f5d054cdSChris Bieneman}
8f5d054cdSChris Bieneman
9*ab751805SGreg Roth; CHECK: define i64 @test(ptr %p) #0 {
10f5d054cdSChris Bieneman; CHECK-NEXT: %v = load i64, ptr %p, align 8
11f5d054cdSChris Bieneman; CHECK-NEXT: ret i64 %v
12f5d054cdSChris Bieneman
13*ab751805SGreg Rothdefine i64 @test2(ptr %p) #0 {
14f5d054cdSChris Bieneman  store i64 0, ptr %p
15f5d054cdSChris Bieneman  %v = load i64, ptr %p
16f5d054cdSChris Bieneman  ret i64 %v
17f5d054cdSChris Bieneman}
18f5d054cdSChris Bieneman
19*ab751805SGreg Roth; CHECK: define i64 @test2(ptr %p) #0 {
20f5d054cdSChris Bieneman; CHECK-NEXT: store i64 0, ptr %p
21f5d054cdSChris Bieneman; CHECK-NEXT: %v = load i64, ptr %p, align 8
22f5d054cdSChris Bieneman; CHECK-NEXT: ret i64 %v
23f5d054cdSChris Bieneman
24*ab751805SGreg Rothdefine i32 @test3(ptr %0) #0 {
25f5d054cdSChris Bieneman  %2 = getelementptr i32, ptr %0, i32 4
26f5d054cdSChris Bieneman  %3 = load i32, ptr %2
27f5d054cdSChris Bieneman  ret i32 %3
28f5d054cdSChris Bieneman}
29f5d054cdSChris Bieneman
30*ab751805SGreg Rothattributes #0 = { convergent norecurse nounwind "hlsl.export"}
31*ab751805SGreg Roth
32*ab751805SGreg Roth; CHECK: define i32 @test3(ptr %0) #0 {
33f5d054cdSChris Bieneman; CHECK-NEXT: %2 = getelementptr i32, ptr %0, i32 4
34f5d054cdSChris Bieneman; CHECK-NEXT: %3 = load i32, ptr %2
35