60 lines · plain
1// RUN: %clang_cc1 -finclude-default-header -x hlsl -triple \2// RUN: dxil-pc-shadermodel6.3-library %s -fnative-half-type -fnative-int16-type \3// RUN: -emit-llvm -disable-llvm-passes -o - | FileCheck %s \ 4// RUN: --check-prefixes=CHECK,NATIVE_HALF5// RUN: %clang_cc1 -finclude-default-header -x hlsl -triple \6// RUN: spirv-unknown-vulkan-compute %s -emit-llvm -disable-llvm-passes \7// RUN: -o - | FileCheck %s --check-prefixes=CHECK,NO_HALF8 9// CHECK-LABEL: test_atan2_half10// NATIVE_HALF: call reassoc nnan ninf nsz arcp afn half @llvm.atan2.f1611// NO_HALF: call reassoc nnan ninf nsz arcp afn float @llvm.atan2.f3212half test_atan2_half (half p0, half p1) {13 return atan2(p0, p1);14}15 16// CHECK-LABEL: test_atan2_half217// NATIVE_HALF: call reassoc nnan ninf nsz arcp afn <2 x half> @llvm.atan2.v2f1618// NO_HALF: call reassoc nnan ninf nsz arcp afn <2 x float> @llvm.atan2.v2f3219half2 test_atan2_half2 (half2 p0, half2 p1) {20 return atan2(p0, p1);21}22 23// CHECK-LABEL: test_atan2_half324// NATIVE_HALF: call reassoc nnan ninf nsz arcp afn <3 x half> @llvm.atan2.v3f1625// NO_HALF: call reassoc nnan ninf nsz arcp afn <3 x float> @llvm.atan2.v3f3226half3 test_atan2_half3 (half3 p0, half3 p1) {27 return atan2(p0, p1);28}29 30// CHECK-LABEL: test_atan2_half431// NATIVE_HALF: call reassoc nnan ninf nsz arcp afn <4 x half> @llvm.atan2.v4f1632// NO_HALF: call reassoc nnan ninf nsz arcp afn <4 x float> @llvm.atan2.v4f3233half4 test_atan2_half4 (half4 p0, half4 p1) {34 return atan2(p0, p1);35}36 37// CHECK-LABEL: test_atan2_float38// CHECK: call reassoc nnan ninf nsz arcp afn float @llvm.atan2.f3239float test_atan2_float (float p0, float p1) {40 return atan2(p0, p1);41}42 43// CHECK-LABEL: test_atan2_float244// CHECK: call reassoc nnan ninf nsz arcp afn <2 x float> @llvm.atan2.v2f3245float2 test_atan2_float2 (float2 p0, float2 p1) {46 return atan2(p0, p1);47}48 49// CHECK-LABEL: test_atan2_float350// CHECK: call reassoc nnan ninf nsz arcp afn <3 x float> @llvm.atan2.v3f3251float3 test_atan2_float3 (float3 p0, float3 p1) {52 return atan2(p0, p1);53}54 55// CHECK-LABEL: test_atan2_float456// CHECK: call reassoc nnan ninf nsz arcp afn <4 x float> @llvm.atan2.v4f3257float4 test_atan2_float4 (float4 p0, float4 p1) {58 return atan2(p0, p1);59}60