https://llvm.org/bugs/show_bug.cgi?id=31449
Bug ID: 31449 Summary: Miscompile of spec2006/perlbench Product: new-bugs Version: trunk Hardware: Other OS: Linux Status: NEW Severity: normal Priority: P Component: new bugs Assignee: unassignedb...@nondot.org Reporter: mssim...@codeaurora.org CC: llvm-bugs@lists.llvm.org Classification: Unclassified Top-of-trunk is currently miscompiling spec2006/perlbench on AArch64 for "-O1" and above. For example, with "clang -target=aarch64-linux-none-gnu -O2 ...". I've bisected the miscompile to: commit 7b626dfd628404afb5fb410e8cb9eedf8e1722b4 Author: Ehsan Amiri <ameh...@ca.ibm.com> Date: Thu Dec 15 12:25:13 2016 +0000 [InstCombine] New opportunities for FoldAndOfICmp and FoldXorOfICmp A number of new patterns for simplifying and/xor of icmp: (icmp ne %x, 0) ^ (icmp ne %y, 0) => icmp ne %x, %y if the following is true: 1- (%x = and %a, %mask) and (%y = and %b, %mask) 2- %mask is a power of 2. (icmp eq %x, 0) & (icmp ne %y, 0) => icmp ult %x, %y if the following is true: 1- (%x = and %a, %mask1) and (%y = and %b, %mask2) 2- Let %t be the smallest power of 2 where %mask1 & %t != 0. Then for any %s that is a power of 2 and %s & %mask2 != 0, we must have %s <= %t. For example if %mask1 = 24 and %mask2 = 16, setting %s = 16 and %t = 8 violates condition (2) above. So this optimization cannot be applied. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@289813 91177308-0d34-0410-b5e6-96231b3b80d8 -- 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