[llvm-dev] [cfe-dev] a proposed script to help with test-suite programs that output _lots_ of FP numbers
Matthias Braun via llvm-dev
llvm-dev at lists.llvm.org
Thu Sep 29 15:05:55 PDT 2016
My (limited) understanding so far was that -fp-contract=on does not give you deterministic results because depending on optimization levels (and architecture support) you could get more or less multiply-add instructions, so recording a fp-contract=on reference file seems pointless to me...
> On Sep 29, 2016, at 3:01 PM, Abe Skolnik via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> ["Hal Finkel" <hfinkel at anl.gov> wrote:]
>> Recording the output with -ffp-contract=on to use as a reference output does not seem useful,
>> exactly for the reasons you specify. We should generate the reference outputs with -ffp-contract=off as we do now.
>> That's the only good target-independent configuration. Maybe we could do this:
>> - Have a reference output with -ffp-contract=off
>> - Run program compiled with -ffp-contract=off and the default
>> - Compare the former against the reference output for validation
>> - Compare the latter (the default build) against the former with fpcmp with some tolerance
>> This also has the advantage that we still only need the hashed reference outputs in the repository.
> Ah. Interesting idea. So please tell me if I have understood you correctly. I think you [Hal] are suggesting something like this:
> 1) compile the program with FP fusion off, run program, capture output and save it, hash it and compare against reference hash.
> 2) if comparison against reference hash says "not equal", fail the test and stop [stop testing this particular subtest, that is]
> 3) compile the program with FP fusion on/"fast", capture the output,
> compare using "fpcmp" and some positive tolerance against the output of the non-fusion build of the same source code;
> fail only if outside the tolerance limit[s]
> Is that right?
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
More information about the llvm-dev