1; RUN: opt -S -dxil-op-lower -mtriple=dxil-pc-shadermodel6.3-library %s | FileCheck %s 2 3; Make sure dxil operation function calls for isinf are generated for float and half. 4 5define noundef i1 @isinf_float(float noundef %a) { 6entry: 7 ; CHECK: call i1 @dx.op.isSpecialFloat.f32(i32 9, float %{{.*}}) #[[#ATTR:]] 8 %dx.isinf = call i1 @llvm.dx.isinf.f32(float %a) 9 ret i1 %dx.isinf 10} 11 12define noundef i1 @isinf_half(half noundef %a) { 13entry: 14 ; CHECK: call i1 @dx.op.isSpecialFloat.f16(i32 9, half %{{.*}}) #[[#ATTR]] 15 %dx.isinf = call i1 @llvm.dx.isinf.f16(half %a) 16 ret i1 %dx.isinf 17} 18 19; CHECK: attributes #[[#ATTR]] = {{{.*}} memory(none) {{.*}}} 20 21declare i1 @llvm.dx.isinf.f16(half) 22declare i1 @llvm.dx.isinf.f32(float) 23