| /llvm-project-15.0.7/llvm/test/CodeGen/NVPTX/ |
| H A D | sqrt-approx.ll | 17 ; CHECK: rsqrt.approx.f32 33 ; CHECK: rsqrt.approx.f64 42 ; CHECK: rsqrt.approx.f64 59 ; CHECK: sqrt.approx.f32 90 ; CHECK: rsqrt.approx.f64 106 ; CHECK: rsqrt.approx.f64 119 ; CHECK: rsqrt.approx.f32 134 ; CHECK: rsqrt.approx.f32 141 ; CHECK: rsqrt.approx.f64 156 ; CHECK: rsqrt.approx.f64 [all …]
|
| H A D | f16-ex2.ll | 4 declare half @llvm.nvvm.ex2.approx.f16(half) 5 declare <2 x half> @llvm.nvvm.ex2.approx.f16x2(<2 x half>) 10 ; CHECK: ex2.approx.f16 11 %res = call half @llvm.nvvm.ex2.approx.f16(half %0); 18 ; CHECK: ex2.approx.f16x2 19 %res = call <2 x half> @llvm.nvvm.ex2.approx.f16x2(<2 x half> %0);
|
| H A D | refl1.ll | 16 declare float @llvm.nvvm.sin.approx.ftz.f(float) #1 19 declare float @llvm.nvvm.cos.approx.ftz.f(float) #1 22 declare float @llvm.nvvm.div.approx.ftz.f(float, float) #1 28 %0 = tail call float @llvm.nvvm.sin.approx.ftz.f(float %a) 29 %1 = tail call float @llvm.nvvm.cos.approx.ftz.f(float %a) 30 %2 = tail call float @llvm.nvvm.div.approx.ftz.f(float %0, float %1)
|
| H A D | fast-math.ll | 18 ; CHECK: div.approx.f32 26 ; CHECK: sqrt.approx.f32 27 ; CHECK: div.approx.f32 45 ; CHECK: div.approx.ftz.f32 54 ; CHECK: div.approx.ftz.f32 74 ; CHECK: rsqrt.approx.f64 84 ; CHECK-NOT: rsqrt.approx 86 ; CHECK-NOT: rsqrt.approx 96 ; CHECK: rsqrt.approx.f32 198 ; CHECK: rcp.approx.f32 [all …]
|
| H A D | inline-asm.ll | 6 ; CHECK: ex2.approx.ftz.f32 %f{{[0-9]+}}, %f{{[0-9]+}} 7 %0 = call float asm "ex2.approx.ftz.f32 $0, $1;", "=f,f"(float %x)
|
| H A D | div-ri.ll | 5 ; CHECK: div.approx.f32
|
| /llvm-project-15.0.7/mlir/test/Dialect/LLVMIR/ |
| H A D | optimize-for-nvvm.mlir | 9 // CHECK-DAG: %[[rcp:.*]] = nvvm.rcp.approx.ftz.f %[[rhs]] : f32 10 // CHECK-DAG: %[[approx:.*]] = llvm.fmul %[[lhs]], %[[rcp]] : f32 12 …// CHECK-DAG: %[[err:.*]] = "llvm.intr.fma"(%[[approx]], %[[neg]], %[[lhs]]) : (f32, f32, f32)… 13 …// CHECK-DAG: %[[refined:.*]] = "llvm.intr.fma"(%[[err]], %[[rcp]], %[[approx]]) : (f32, f32, f32)… 14 // CHECK-DAG: %[[cast:.*]] = llvm.bitcast %[[approx]] : f32 to i32 19 // CHECK-DAG: %[[select:.*]] = llvm.select %[[pred]], %[[approx]], %[[refined]] : i1, f32
|
| H A D | nvvm.mlir | 34 // CHECK: nvvm.rcp.approx.ftz.f %arg0 : f32 35 %0 = nvvm.rcp.approx.ftz.f %arg0 : f32
|
| /llvm-project-15.0.7/mlir/lib/Dialect/LLVMIR/Transforms/ |
| H A D | OptimizeForNVVM.cpp | 59 Value approx = rewriter.create<LLVM::FMulOp>(loc, lhs, rcp); in matchAndRewrite() local 64 loc, approx, rewriter.create<LLVM::FNegOp>(loc, rhs), lhs); in matchAndRewrite() 65 Value refined = rewriter.create<LLVM::FMAOp>(loc, err, rcp, approx); in matchAndRewrite() 70 Value cast = rewriter.create<LLVM::BitcastOp>(loc, i32Type, approx); in matchAndRewrite() 79 rewriter.create<LLVM::SelectOp>(loc, f32Type, pred, approx, refined); in matchAndRewrite()
|
| /llvm-project-15.0.7/libc/AOR_v20.02/math/tools/ |
| H A D | cos.sollya | 16 approx = proc(poly,d) { 23 p = roundcoefficients(approx(poly,2*i), [|D ...|]);
|
| H A D | v_exp.sollya | 15 approx = proc(poly,d) { 22 p = roundcoefficients(approx(poly,i), [|D ...|]);
|
| H A D | v_sin.sollya | 22 approx = proc(poly,d) { 29 p = roundcoefficients(approx(poly,2*i), [|D ...|]);
|
| H A D | log.sollya | 21 approx = proc(poly,d) { 28 p = roundcoefficients(approx(poly,i), [|D ...|]);
|
| H A D | sin.sollya | 22 approx = proc(poly,d) { 29 p = roundcoefficients(approx(poly,2*i), [|D ...|]);
|
| H A D | v_log.sollya | 20 approx = proc(poly,d) { 27 p = roundcoefficients(approx(poly,i), [|D ...|]);
|
| H A D | log_abs.sollya | 16 approx = proc(poly,d) { 23 p = roundcoefficients(approx(poly,i), [|D ...|]);
|
| H A D | exp.sollya | 16 approx = proc(poly,d) { 23 p = roundcoefficients(approx(poly,i), [|D ...|]);
|
| H A D | log2_abs.sollya | 20 approx = proc(poly,d) { 27 p = roundcoefficients(approx(poly,i), [|D ...|]);
|
| H A D | log2.sollya | 26 approx = proc(poly,d) { 33 p = roundcoefficients(approx(poly,i), [|D ...|]);
|
| H A D | exp2.sollya | 24 approx = proc(poly,d) { 35 p = roundcoefficients(approx(poly,i), [|D ...|]);
|
| /llvm-project-15.0.7/llvm/lib/Target/NVPTX/ |
| H A D | NVPTXInstrInfo.td | 949 "rcp.approx.ftz.f32 \t$dst, $b;", 955 "rcp.approx.f32 \t$dst, $b;", 964 "div.approx.ftz.f32 \t$dst, $a, $b;", 970 "div.approx.ftz.f32 \t$dst, $a, $b;", 976 "div.approx.f32 \t$dst, $a, $b;", 982 "div.approx.f32 \t$dst, $a, $b;", 988 // rcp.approx gives the same result as div.full(1.0f, a) and is faster. 993 "rcp.approx.ftz.f32 \t$dst, $b;", 999 "rcp.approx.f32 \t$dst, $b;", 1112 "sin.approx.f32 \t$dst, $src;", [all …]
|
| H A D | NVPTXIntrinsics.td | 784 : F_MATH_2<"div.approx.ftz.f32 \t$dst, $src0, $src1;", Float32Regs, 906 def INT_NVVM_EX2_APPROX_F : F_MATH_1<"ex2.approx.f32 \t$dst, $src0;", 908 def INT_NVVM_EX2_APPROX_D : F_MATH_1<"ex2.approx.f64 \t$dst, $src0;", 910 def INT_NVVM_EX2_APPROX_F16 : F_MATH_1<"ex2.approx.f16 \t$dst, $src0;", 917 def INT_NVVM_LG2_APPROX_F : F_MATH_1<"lg2.approx.f32 \t$dst, $src0;", 919 def INT_NVVM_LG2_APPROX_D : F_MATH_1<"lg2.approx.f64 \t$dst, $src0;", 928 def INT_NVVM_SIN_APPROX_F : F_MATH_1<"sin.approx.f32 \t$dst, $src0;", 933 def INT_NVVM_COS_APPROX_F : F_MATH_1<"cos.approx.f32 \t$dst, $src0;", 1064 def INT_NVVM_SQRT_APPROX_F : F_MATH_1<"sqrt.approx.f32 \t$dst, $src0;", 1093 def INT_NVVM_RSQRT_APPROX_F : F_MATH_1<"rsqrt.approx.f32 \t$dst, $src0;", [all …]
|
| /llvm-project-15.0.7/mlir/test/Target/LLVMIR/ |
| H A D | nvvmir.mlir | 38 // CHECK: call float @llvm.nvvm.rcp.approx.ftz.f 39 %1 = nvvm.rcp.approx.ftz.f %0 : f32
|
| /llvm-project-15.0.7/llvm/test/CodeGen/PowerPC/ |
| H A D | pow-025-075-intrinsic-scalar-mass-fast.ll | 312 …-math"="true" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "approx-func-fp-math"="tru…
|
| /llvm-project-15.0.7/llvm/docs/ |
| H A D | CompileCudaWithLLVM.rst | 129 * ``-fcuda-approx-transcendentals`` (default: off) When this is enabled, the 132 example, this flag allows clang to emit the ptx ``sin.approx.f32``
|