xref: /llvm-project/llvm/test/CodeGen/DirectX/frac_error.ll (revision 8cf85653b6f5c90b83f8a5741baad5725d6c6932)
1cdfd884bSS. Bharadwaj Yadavalli; RUN: not opt -S -dxil-op-lower -mtriple=dxil-pc-shadermodel6.3-library %s 2>&1 | FileCheck %s
254f631d1SS. Bharadwaj Yadavalli
354f631d1SS. Bharadwaj Yadavalli; DXIL operation frac does not support double overload type
4*8cf85653SJustin Bogner; CHECK: in function frac_double
5*8cf85653SJustin Bogner; CHECK-SAME: Cannot create Frac operation: Invalid overload type
654f631d1SS. Bharadwaj Yadavalli
754f631d1SS. Bharadwaj Yadavalli; Function Attrs: noinline nounwind optnone
854f631d1SS. Bharadwaj Yadavallidefine noundef double @frac_double(double noundef %a) #0 {
954f631d1SS. Bharadwaj Yadavallientry:
1054f631d1SS. Bharadwaj Yadavalli  %a.addr = alloca double, align 8
1154f631d1SS. Bharadwaj Yadavalli  store double %a, ptr %a.addr, align 8
1254f631d1SS. Bharadwaj Yadavalli  %0 = load double, ptr %a.addr, align 8
1354f631d1SS. Bharadwaj Yadavalli  %dx.frac = call double @llvm.dx.frac.f64(double %0)
1454f631d1SS. Bharadwaj Yadavalli  ret double %dx.frac
1554f631d1SS. Bharadwaj Yadavalli}
16