/llvm-project/clang/test/CodeGenHLSL/builtins/ |
H A D | rsqrt.hlsl | 21 // NATIVE_HALF: %hlsl.rsqrt = call reassoc nnan ninf nsz arcp afn half @llvm.[[TARGET]].rsqrt.f16( 22 // NATIVE_HALF: ret half %hlsl.rsqrt 24 // NO_HALF: %hlsl.rsqrt = call reassoc nnan ninf nsz arcp afn float @llvm.[[TARGET]].rsqrt.f32( 25 // NO_HALF: ret float %hlsl.rsqrt 26 half test_rsqrt_half(half p0) { return rsqrt(p0); } 28 // NATIVE_HALF: %hlsl.rsqrt = call reassoc nnan ninf nsz arcp afn <2 x half> @llvm.[[TARGET]].rsqrt.v2f16 29 // NATIVE_HALF: ret <2 x half> %hlsl.rsqrt [all...] |
/llvm-project/llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ |
H A D | rsqrt.ll | 18 %elt.rsqrt = call float @llvm.spv.rsqrt.f32(float %a) 19 ret float %elt.rsqrt 26 %elt.rsqrt = call half @llvm.spv.rsqrt.f16(half %a) 27 ret half %elt.rsqrt 34 %elt.rsqrt = call double @llvm.spv.rsqrt.f64(double %a) 35 ret double %elt.rsqrt 42 %elt.rsqrt [all...] |
/llvm-project/llvm/test/CodeGen/NVPTX/ |
H A D | rsqrt-opt.ll | 3 ; RUN: llc < %s -mtriple=nvptx64 -nvptx-rsqrt-approx-opt=0 | FileCheck %s --check-prefixes CHECK,CHECK-APPROX-NOOPT,CHECK-SQRT-NOOPT 7 ; RUN: %if ptxas %{ llc < %s -mtriple=nvptx64 -nvptx-rsqrt-approx-opt=0 | %ptxas-verify %} 12 ; CHECK-APPROX-OPT: rsqrt.approx.f32 16 %rsqrt = fdiv float 1.0, %sqrt 17 ret float %rsqrt 21 ; CHECK-APPROX-OPT: rsqrt.approx.ftz.f32 25 %rsqrt = fdiv float 1.0, %sqrt 26 ret float %rsqrt 31 ; CHECK-SQRT-OPT: rsqrt.approx.f32 35 %rsqrt [all...] |
H A D | rsqrt.ll | 6 ; CHECK: rsqrt.approx.f32 7 %call = call float @llvm.nvvm.rsqrt.approx.f(float %in) 13 ; CHECK: rsqrt.approx.f64 14 %call = call double @llvm.nvvm.rsqrt.approx.d(double %in) 20 ; CHECK: rsqrt.approx.ftz.f32 21 %call = tail call float @llvm.nvvm.rsqrt.approx.ftz.f(float %in) 27 ; CHECK: rsqrt.approx.ftz.f64 28 %call = tail call double @llvm.nvvm.rsqrt.approx.ftz.d(double %in) 32 declare float @llvm.nvvm.rsqrt.approx.ftz.f(float) 33 declare double @llvm.nvvm.rsqrt [all...] |
H A D | sqrt-approx.ll | 17 ; CHECK: rsqrt.approx.f32 25 ; CHECK: rsqrt.approx.ftz.f32 33 ; CHECK: rsqrt.approx.f64 41 ; There's no rsqrt.approx.ftz.f64 instruction; we just use the non-ftz version. 42 ; CHECK: rsqrt.approx.f64 88 ; reciprocal(rsqrt.approx.f64(x)). There's no non-ftz approximate reciprocal, 90 ; CHECK: rsqrt.approx.f64 106 ; CHECK: rsqrt.approx.f64 112 ; -- refined sqrt and rsqrt -- 114 ; The sqrt and rsqrt refinemen [all...] |
H A D | fast-math.ll | 62 ; reciprocal(rsqrt(x)) for sqrt(x), and emit a vanilla divide. 74 ; CHECK: rsqrt.approx.f64 83 ; CHECK-LABEL: rsqrt( 84 ; CHECK-NOT: rsqrt.approx 86 ; CHECK-NOT: rsqrt.approx 87 define float @rsqrt(float %a) { 96 ; CHECK: rsqrt.approx.f32 108 ; CHECK: rsqrt.approx.ftz.f32
|
/llvm-project/llvm/test/CodeGen/DirectX/ |
H A D | rsqrt.ll | 4 ; Make sure dxil operation function calls for rsqrt are generated for float and half. 14 %dx.rsqrt = call float @llvm.dx.rsqrt.f32(float %a) 15 ret float %dx.rsqrt 26 %dx.rsqrt = call half @llvm.dx.rsqrt.f16(half %a) 27 ret half %dx.rsqrt 49 %2 = call <4 x float> @llvm.dx.rsqrt.v4f32(<4 x float> %a) 55 declare half @llvm.dx.rsqrt.f16(half) 56 declare float @llvm.dx.rsqrt [all...] |
H A D | rsqrt_error.ll | 3 ; DXIL operation rsqrt does not support double overload type 5 ; CHECK-SAME: Cannot create RSqrt operation: Invalid overload type 13 %dx.rsqrt = call double @llvm.dx.rsqrt.f64(double %0) 14 ret double %dx.rsqrt
|
/llvm-project/llvm/test/Transforms/InstCombine/ |
H A D | fmul-sqrt.ll | 97 %rsqrt = fdiv fast double 1.0, %sqrt 98 %squared = fmul fast double %rsqrt, %rsqrt 105 ; CHECK-NEXT: [[RSQRT:%.*]] = fdiv double 1.000000e+00, [[SQRT]] 107 ; CHECK-NEXT: store double [[RSQRT]], ptr [[P:%.*]], align 8 111 %rsqrt = fdiv double 1.0, %sqrt 112 %res = fmul reassoc nsz double %rsqrt, %x 113 store double %rsqrt, ptr %p 121 ; CHECK-NEXT: [[RSQRT:%.*]] = fdiv fast <2 x float> splat (float 1.000000e+00), [[SQRT]] 123 ; CHECK-NEXT: store <2 x float> [[RSQRT]], pt [all...] |
/llvm-project/mlir/test/mlir-cpu-runner/X86Vector/ |
H A D | math-polynomial-approx-avx2.mlir |
|
/llvm-project/libclc/generic/lib/math/ |
H A D | rsqrt.cl | 4 _CLC_OVERLOAD _CLC_DEF float rsqrt(float x) 9 _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, float, rsqrt, float); 15 _CLC_OVERLOAD _CLC_DEF double rsqrt(double x) 20 _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, rsqrt, double);
|
/llvm-project/libclc/r600/lib/math/ |
H A D | rsqrt.cl | 4 _CLC_OVERLOAD _CLC_DEF float rsqrt(float x) 9 _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, float, rsqrt, float); 15 _CLC_OVERLOAD _CLC_DEF double rsqrt(double x) 20 _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, rsqrt, double);
|
/llvm-project/libclc/generic/lib/geometric/ |
H A D | normalize.cl | 46 return p * rsqrt(l2); 66 return p * rsqrt(l2); 86 return p * rsqrt(l2); 114 return p * rsqrt(l2); 134 return p * rsqrt(l2); 154 return p * rsqrt(l2);
|
/llvm-project/clang/test/CodeGen/PowerPC/ |
H A D | builtins-ppc-fastmath.c | 45 // CHECK-NEXT: [[RSQRT:%.*]] = fdiv fast <4 x float> splat (float 1.000000e+00), [[TMP1]] 47 // CHECK-NEXT: [[ADD:%.*]] = fadd <4 x float> [[RSQRT]], [[TMP2]] 57 // CHECK-NEXT: [[RSQRT:%.*]] = fdiv fast <2 x double> splat (double 1.000000e+00), [[TMP1]] 59 // CHECK-NEXT: [[ADD:%.*]] = fadd <2 x double> [[RSQRT]], [[TMP2]]
|
/llvm-project/llvm/test/CodeGen/X86/ |
H A D | extractps.ll | 16 … call <4 x float> @llvm.x86.sse.rsqrt.ss( <4 x float> %2 ) ; <<4 x float>>:3 [#uses=1] 31 … call <4 x float> @llvm.x86.sse.rsqrt.ss( <4 x float> %2 ) ; <<4 x float>>:3 [#uses=1] 37 declare <4 x float> @llvm.x86.sse.rsqrt.ss(<4 x float>) nounwind readnone
|
/llvm-project/llvm/test/Transforms/Reassociate/ |
H A D | factorize-again.ll | 9 ; CHECK-NEXT: [[TMP4:%.*]] = call float @llvm.rsqrt.f32(float undef) 22 %4 = call float @llvm.rsqrt.f32(float undef) 41 declare float @llvm.rsqrt.f32(float) #1
|
/llvm-project/mlir/test/Conversion/MathToLLVM/ |
H A D | math-to-llvm.mlir | 152 // CHECK-LABEL: func @rsqrt( 154 func.func @rsqrt(%arg0 : f32) { 158 %0 = math.rsqrt %arg0 : f32 250 %0 = math.rsqrt %arg0 : f64 262 %0 = math.rsqrt %arg0 fastmath<fast> : f64 274 %0 = math.rsqrt %arg0 : vector<4xf32> 286 %0 = math.rsqrt %arg0 : vector<[4]xf32> 298 %0 = math.rsqrt %arg0 fastmath<fast> : vector<4xf32> 310 %0 = math.rsqrt %arg0 fastmath<fast> : vector<[4]xf32> 323 %0 = math.rsqrt %arg0 : vector<4x3xf32> [all …]
|
/llvm-project/libclc/test/ |
H A D | rsqrt.cl | 4 x[1] = rsqrt(x[0]); 5 y[1] = rsqrt(y[0]);
|
/llvm-project/mlir/test/Integration/Dialect/Vector/CPU/X86Vector/ |
H A D | rsqrt.mlir | 10 %r = x86vector.avx.rsqrt %v : vector<8xf32> 11 …// `rsqrt` may produce slightly different results on Intel and AMD machines: accept both results h…
|
/llvm-project/mlir/test/Dialect/Complex/ |
H A D | ops.mlir | 80 // CHECK: complex.rsqrt %[[C]] : complex<f32> 81 %rsqrt = complex.rsqrt %complex : complex<f32>
|
/llvm-project/mlir/test/Conversion/MathToSPIRV/ |
H A D | math-to-opencl-spirv.mlir | 33 // CHECK: spirv.CL.rsqrt %{{.*}}: f32 34 %9 = math.rsqrt %arg0 : f32 82 // CHECK: spirv.CL.rsqrt %{{.*}}: vector<3xf32> 83 %9 = math.rsqrt %arg0 : vector<3xf32>
|
/llvm-project/mlir/test/Dialect/Math/ |
H A D | polynomial-approximation.mlir | 562 // We only approximate rsqrt for vectors and when the AVX2 option is enabled. 565 // CHECK: math.rsqrt 566 // AVX2: math.rsqrt 568 %0 = math.rsqrt %arg0 : f32 573 // CHECK: math.rsqrt 584 // AVX2: %[[VAL_9:.*]] = x86vector.avx.rsqrt %[[VAL_0]] : vector<8xf32> 592 %0 = math.rsqrt %arg0 : vector<8xf32> 599 // CHECK: math.rsqrt 601 // AVX2: math.rsqrt 603 %0 = math.rsqrt [all...] |
H A D | ops.mlir | 187 // CHECK-LABEL: func @rsqrt( 189 func.func @rsqrt(%f: f32, %v: vector<4xf32>, %t: tensor<4x4x?xf32>) { 190 // CHECK: %{{.*}} = math.rsqrt %[[F]] : f32 191 %0 = math.rsqrt %f : f32 192 // CHECK: %{{.*}} = math.rsqrt %[[V]] : vector<4xf32> 193 %1 = math.rsqrt %v : vector<4xf32> 194 // CHECK: %{{.*}} = math.rsqrt %[[T]] : tensor<4x4x?xf32> 195 %2 = math.rsqrt %t : tensor<4x4x?xf32>
|
/llvm-project/llvm/test/CodeGen/X86/GlobalISel/ |
H A D | regbankselect-sse-intrinsics.ll | 128 …; CHECK-NEXT: [[INT:%[0-9]+]]:vecr(<4 x s32>) = G_INTRINSIC intrinsic(@llvm.x86.sse.rsqrt.ps), [… 132 %res = call <4 x float> @llvm.x86.sse.rsqrt.ps(<4 x float> %a0) ; <<4 x float>> [#uses=1] 136 declare <4 x float> @llvm.x86.sse.rsqrt.ps(<4 x float>) nounwind readnone 145 …; CHECK-NEXT: [[INT:%[0-9]+]]:vecr(<4 x s32>) = G_INTRINSIC intrinsic(@llvm.x86.sse.rsqrt.ss), [… 149 %res = call <4 x float> @llvm.x86.sse.rsqrt.ss(<4 x float> %a0) ; <<4 x float>> [#uses=1] 153 declare <4 x float> @llvm.x86.sse.rsqrt.ss(<4 x float>) nounwind readnone
|
/llvm-project/libc/docs/ |
H A D | c23.rst |
|