[LLVMbugs] [Bug 11819] New: [AVX] incorrect code for shuffles
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Fri Jan 20 17:09:16 PST 2012
http://llvm.org/bugs/show_bug.cgi?id=11819
Bug #: 11819
Summary: [AVX] incorrect code for shuffles
Product: new-bugs
Version: trunk
Platform: PC
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: matt at pharr.org
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 7919
--> http://llvm.org/bugs/attachment.cgi?id=7919
test case
See the attached test case which does a permutation of an 8-wide i32 vector;
until the checkin below, it generated the following output:
% llc -mattr=+avx t.ll -o t.o -filetype=obj && g++ -m64 t.cpp t.o && ./a.out
result[0] = 3 (expected 3)
result[1] = 4 (expected 4)
result[2] = 5 (expected 5)
result[3] = 6 (expected 6)
result[4] = 7 (expected 7)
result[5] = 8 (expected 8)
result[6] = 1 (expected 1)
result[7] = 2 (expected 2)
With top-of-tree, it generates incorrect values:
result[0] = 3 (expected 3)
result[1] = 4 (expected 4)
result[2] = 1 (expected 5) *** ERROR ***
result[3] = 2 (expected 6) *** ERROR ***
result[4] = 3 (expected 7) *** ERROR ***
result[5] = 4 (expected 8) *** ERROR ***
result[6] = 1 (expected 1)
result[7] = 2 (expected 2)
Bisecting tells me that r148537 is the commit that broke this:
Author: Craig Topper <craig.topper at gmail.com>
Date: Fri Jan 20 09:29:03 2012 +0000
Improve 256-bit shuffle splitting to allow 2 sources in each 128-bit lane.
As long as only a single lane of the source is used in the lane in the
destination. This makes the splitting match much closer to what happens with
256-bit shuffles when AVX is disabled and only 128-bit XMM is allowed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148537
91177308-0d34-0410-b5e6-96231b3b80d8
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list