[PATCH] D18701: [ARM] Adding IEEE-754 SIMD detection to loop vectorizer
Matt via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 6 11:07:02 PDT 2016
mmasten added a subscriber: mmasten.
mmasten added a comment.
Hello,
I currently have an RFC for translating vector math intrinsics to svml calls. This proposal includes the user specifying the desired precision requirements via several flags (supported by the Intel compiler currently). The plan is to attach this information in the form of function attributes at the calls sites of the math intrinsics. In turn, these attributes drive the selection of the appropriate svml function variant. Would this be helpful in this particular case? I've included a description of the flags below.
-fimf-absolute-error=value[:funclist]
define the maximum allowable absolute error for math library
function results
value - a positive, floating-point number conforming to the
format [digits][.digits][{e|E}[sign]digits]
funclist - optional comma separated list of one or more math
library functions to which the attribute should be
applied
-fimf-accuracy-bits=bits[:funclist]
define the relative error, measured by the number of correct bits,
for math library function results
bits - a positive, floating-point number
funclist - optional comma separated list of one or more math
library functions to which the attribute should be
applied
-fimf-arch-consistency=value[:funclist]
ensures that the math library functions produce consistent results
across different implementations of the same architecture
value - true or false
funclist - optional comma separated list of one or more math
library functions to which the attribute should be
applied
-fimf-max-error=ulps[:funclist]
defines the maximum allowable relative error, measured in ulps, for
math library function results
ulps - a positive, floating-point number conforming to the
format [digits][.digits][{e|E}[sign]digits]
funclist - optional comma separated list of one or more math
library functions to which the attribute should be
applied
-fimf-precision=value[:funclist]
defines the accuracy (precision) for math library functions
value - defined as one of the following values
high - equivalent to max-error = 0.6
medium - equivalent to max-error = 4 (DEFAULT)
low - equivalent to accuracy-bits = 11 (single
precision); accuracy-bits = 26 (double
precision)
funclist - optional comma separated list of one or more math
library functions to which the attribute should be
applied
-fimf-domain-exclusion=classlist[:funclist]
indicates the input arguments domain on which math functions
must provide correct results.
classlist - defined as one of the following values
nans, infinities, denormals, zeros
all, none, common
funclist - optional list of one or more math library
functions to which the attribute should be applied.
http://reviews.llvm.org/D18701
More information about the llvm-commits
mailing list