https://llvm.org/bugs/show_bug.cgi?id=26561

            Bug ID: 26561
           Summary: spec2000/188.ammp miscompare fail on IA64 HSW
                    architecture after commit r260063
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
          Assignee: unassignedb...@nondot.org
          Reporter: sergey.k.oku...@gmail.com
                CC: llvm-bugs@lists.llvm.org, llvm-...@redking.me.uk,
                    sergey.k.oku...@gmail.com, sergos....@gmail.com,
                    spatel+l...@rotateright.com, zia.ans...@intel.com
    Classification: Unclassified

Bisect analysis showed LLVM revision 260063 is responsible for the fail. The
comments to commit are the following.

commit 392b9d21fce095df29f5a549c4a7d9d59761b32f
Author: Simon Pilgrim <llvm-...@redking.me.uk>
Date:   Sun Feb 7 22:51:06 2016 +0000

    [X86][SSE] Resolve target shuffle inputs to sentinels to permit more
combines

    The combineX86ShufflesRecursively only supports unary shuffles, but was
missing the opportunity to combine binary shuffles with a zero / undef second
input.

    This patch resolves target shuffle inputs, converting the shuffle mask
elements to SM_SentinelUndef/SM_SentinelZero where possible. It then resolves
the updated mask to check if we have created a faux unary shuffle.

    Additionally, we now attempt to recursively call
combineX86ShufflesRecursively for all input operands (we used to just recurse
for unary integer shuffles and unary unpacks) - it safely returns early if its
not a target shuffle.

    Differential Revision: http://reviews.llvm.org/D16683

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260063
91177308-0d34-0410-b5e6-96231b3b80d8


LLVM-clang options: -m64 -fuse-ld=gold -static -O2 -ffast-math -march=core-avx2 

The failure is reproduced in concurrent applying of “-ffast-math
-march=core-avx2” options only.
spec2000 harness gives the following miscompare message (file – ammp.out.cmp).

0012:   1183.095771 bond energy
        1036.076023 bond energy
                  ^
0013:   2140.779933 angle energy
        2049.475812 angle energy
                  ^
0014:   67.674876 hybrid energy
        63.753323 hybrid energy
                ^
0016:   -15738.937252 non-bonded energy
        -14111.964160 non-bonded energy
                    ^
0017:   -11819.178977 total potential energy
        -10434.282631 total potential energy
                    ^
0018:   8533.288451 total kinetic energy
        8588.981709 total kinetic energy
                  ^
0019:   -3285.890527 total energy
        -1845.300921 total energy
                   ^
0020:   20352.467428 total action
        19023.264340 total action
                   ^
0025:   1232.045367 bond energy
        1061.815654 bond energy
                  ^
0026:   2228.827988 angle energy
        2053.136001 angle energy
                  ^
0027:   69.507047 hybrid energy
        65.092695 hybrid energy


Okunev Sergey,
Software Engineer
Intel Compiler Team

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to