1cdfd884bSS. Bharadwaj Yadavalli; RUN: opt -S -dxil-intrinsic-expansion -mtriple=dxil-pc-shadermodel6.3-library %s | FileCheck %s --check-prefixes=CHECK,EXPCHECK 27d0ca601SFarzon Lotfi; RUN: opt -S -dxil-intrinsic-expansion -dxil-op-lower -mtriple=dxil-pc-shadermodel6.3-library %s | FileCheck %s --check-prefixes=CHECK,DOPCHECK 35cf1e2e2SFarzon Lotfi 45cf1e2e2SFarzon Lotfi; Make sure dxil operation function calls for log are generated. 55cf1e2e2SFarzon Lotfi 65cf1e2e2SFarzon Lotfidefine noundef float @log_float(float noundef %a) #0 { 75cf1e2e2SFarzon Lotfientry: 8*011b6186SFinn Plummer; DOPCHECK: call float @dx.op.unary.f32(i32 23, float %{{.*}}) #[[#ATTR:]] 95cf1e2e2SFarzon Lotfi; EXPCHECK: call float @llvm.log2.f32(float %a) 105cf1e2e2SFarzon Lotfi; CHECK: fmul float 0x3FE62E4300000000, %{{.*}} 115cf1e2e2SFarzon Lotfi %elt.log = call float @llvm.log.f32(float %a) 125cf1e2e2SFarzon Lotfi ret float %elt.log 135cf1e2e2SFarzon Lotfi} 145cf1e2e2SFarzon Lotfi 155cf1e2e2SFarzon Lotfidefine noundef half @log_half(half noundef %a) #0 { 165cf1e2e2SFarzon Lotfientry: 17*011b6186SFinn Plummer; DOPCHECK: call half @dx.op.unary.f16(i32 23, half %{{.*}}) #[[#ATTR]] 185cf1e2e2SFarzon Lotfi; EXPCHECK: call half @llvm.log2.f16(half %a) 195cf1e2e2SFarzon Lotfi; CHECK: fmul half 0xH398C, %{{.*}} 205cf1e2e2SFarzon Lotfi %elt.log = call half @llvm.log.f16(half %a) 215cf1e2e2SFarzon Lotfi ret half %elt.log 225cf1e2e2SFarzon Lotfi} 235cf1e2e2SFarzon Lotfi 24*011b6186SFinn Plummer; DOPCHECK: attributes #[[#ATTR]] = {{{.*}} memory(none) {{.*}}} 25*011b6186SFinn Plummer 265cf1e2e2SFarzon Lotfideclare half @llvm.log.f16(half) 275cf1e2e2SFarzon Lotfideclare float @llvm.log.f32(float) 28