<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Aug 14, 2014 at 3:45 AM, Patrik Hägglund H <span dir="ltr"><<a href="mailto:patrik.h.hagglund@ericsson.com" target="_blank">patrik.h.hagglund@ericsson.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":cw6" class="a3s" style="overflow:hidden">Hi Chandler,<br>
<br>
Ping!<br></div></blockquote><div><br></div><div>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....</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div id=":cw6" class="a3s" style="overflow:hidden">
<br>
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'.<br>
</div></blockquote><div><br></div><div>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.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":cw6" class="a3s" style="overflow:hidden">
<br>
(I suggest adding pre- or post-conditions (asserts) for functions that assumes or returns masks without 'undef' values. Also, I think it would be better if getShuffleMask returned a vector of unsigned values, instead of signed. Now, I see a lot of "arbitrary" casts between signed and unsigned around the handling of mask values, rather than just for assigning/checking for 'undef'. However, that change seems rather invasive/tedious. :-( )</div>
</blockquote></div><div class="gmail_extra"><br></div>I generally disagree with this... at least at this stage. I don't think unsigned vs. signed is going to help anything here.<br><br></div></div>