Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CodeGenHLSL / half.hlsl
blobe83a6fc715b8ae7a0a1fbf31866569f0ec5b639a
1 // RUN: %clang_cc1 -std=hlsl2021 -finclude-default-header -x hlsl -triple \
2 // RUN:   dxil-pc-shadermodel6.3-library %s -fnative-half-type \
3 // RUN:   -emit-llvm -disable-llvm-passes -o - | FileCheck %s --check-prefix=HALF
5 // RUN: %clang_cc1 -std=hlsl2021 -finclude-default-header -x hlsl -triple \
6 // RUN:   dxil-pc-shadermodel6.3-library %s \
7 // RUN:   -emit-llvm -disable-llvm-passes -o - | FileCheck %s --check-prefix=FLOAT
10 // Make sure use float when not enable-16bit-types.
11 // FLOAT:define {{.*}}float @"?foo@@YA$halff@$halff@0@Z"(float{{[^,]+}}, float{{[^,)]+}})
12 // FLOAT-NOT:half
13 // FLOAT:ret float %
15 // Make sure use half when enable-16bit-types.
16 // HALF:define {{.*}}half @"?foo@@YA$f16@$f16@0@Z"(half{{[^,]+}}, half{{[^,)]+}})
17 // HALF-NOT:float
18 // HALF:ret half %
19 half foo(half a, half b) {
20   return a+b;