[llvm] r214628 - [x86] Largely complete the use of PSHUFB in the new vector shuffle
Patrik Hägglund H
patrik.h.hagglund at ericsson.com
Fri Aug 15 10:27:04 PDT 2014
Hi Chandler,
> Done and fixed in r215687.
Thanks!
From: chandlerc at google.com [mailto:chandlerc at google.com] On Behalf Of Chandler Carruth
Sent: den 15 augusti 2014 04:53
To: Chandler Carruth
Cc: Patrik Hägglund H; llvm-commits at cs.uiuc.edu
Subject: Re: [llvm] r214628 - [x86] Largely complete the use of PSHUFB in the new vector shuffle
On Thu, Aug 14, 2014 at 5:21 AM, Chandler Carruth <chandlerc at gmail.com<mailto:chandlerc at gmail.com>> wrote:
On Thu, Aug 14, 2014 at 4:07 AM, Chandler Carruth <chandlerc at gmail.com<mailto:chandlerc at gmail.com>> wrote:
On Thu, Aug 14, 2014 at 3:45 AM, Patrik Hägglund H <patrik.h.hagglund at ericsson.com<mailto:patrik.h.hagglund at ericsson.com>> wrote:
Hi Chandler,
Ping!
Sorry, I got caught up in other bug chasing activities and forgot about this one. I'll try to get to it if you don't sooner....
I don't know anything about how this code works. Anyhow, I took a quick look at this. It seems like the call to getTargetShuffleMask (in combineX86ShufflesRecursively) returns a Mask with 'undef' (-1) values. However, the code following the call seems to assume that no elements are 'undef'.
That seems... very, very strange. If it isn't a bug in getTargetShuffleMask (How does it know they are *undef*???) then I think the code following it just needs to be taught to deal with undef masks.
Oh, this isn't undef stuff at all.
X86 target shuffles sometimes will force-zero a lane, and we decode that to a '-1' entry in the *target* shuffle mask. Not to be confused with a '-1' in the shuffle masks used everywhere else. =/
Anyways, the subsequent code looks *completely and utterly wrong*, both in the face of this and other issues. I'll rewrite it shortly.
Done and fixed in r215687.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140815/a1c97a2c/attachment.html>
More information about the llvm-commits
mailing list