[cfe-dev] [llvm-dev] a proposed script to help with test-suite programs that output _lots_ of FP numbers
Matthias Braun via cfe-dev
cfe-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...
- Matthias
> 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?
>
> Regards,
>
> Abe
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
More information about the cfe-dev
mailing list