[llvm-dev] [test-suite] making polybench/symm succeed with "-Ofast" and "-ffp-contract=on"

Renato Golin via llvm-dev llvm-dev at lists.llvm.org
Fri Oct 14 08:36:12 PDT 2016


On 14 October 2016 at 15:50, Sebastian Pop <sebpop.llvm at gmail.com> wrote:
> These 3 tests are passing with the following configurations:
> -O3 -ffp-contract=off
> -O3 -ffp-contract=on
> -O0 -ffp-contract=off
> -O0 -ffp-contract=on
>
> They are not passing at:
> -Ofast -ffp-contract=on
> -Ofast -ffp-contract=off

Let's separate completely FP-contract and fast-math. They're different
things and need different solutions.


> if(TEST_SUITE_USES_FAST_MATH)
>   add_definitions(-DFP_ABSTOLERANCE=1e0)
> else()
>   add_definitions(-DFP_ABSTOLERANCE=1e-5)
> endif()

This doesn't make sense. If my program decreased precision by 5 orders
of magnitude with -ffast-math, I'd be *very* worried.

I hope that fast-math in Clang isn't that broken, so that's probably
to do with the assumptions in the output reduction phase.

But, as I said, let's do Ofast *later*. One thing at a time.

cheers,
--renato


More information about the llvm-dev mailing list