[llvm-bugs] [Bug 26561] New: spec2000/188.ammp miscompare fail on IA64 HSW architecture after commit r260063

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Feb 10 05:21:28 PST 2016


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: unassignedbugs at nondot.org
          Reporter: sergey.k.okunev at gmail.com
                CC: llvm-bugs at lists.llvm.org, llvm-dev at redking.me.uk,
                    sergey.k.okunev at gmail.com, sergos.gnu at gmail.com,
                    spatel+llvm at rotateright.com, zia.ansari at 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-dev at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160210/fa9f7466/attachment-0001.html>


More information about the llvm-bugs mailing list