Skip to content

SLEEF Vector Math Resolver

Simon Moll edited this page Oct 30, 2018 · 1 revision

RV automatically uses vector SIMD math functions of the SLEEF vector math library when vectorizing libm calls. To enable this feature, set an upper ULP-error bound for math functions in rv::Config, e.g. and register the SLEEF Resolver service with PlatformInfo, e.g.

config.maxULPErrorBound = 35; // allow vector math with imprecision up to 3.5 ULP
rv::addSleefResolver(config, platform_info);

The supported SIMD ISAs is inferred from the functions "target-feature attribute. In case your ISA is not supported by SLEEF, RV will auto-vectorize SLEEF's scalar math functions on demand.

Clone this wiki locally