<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Dec 14, 2020, 11:43 Luke Kenneth Casson Leighton <<a href="mailto:lkcl@lkcl.net">lkcl@lkcl.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 12/14/20, Jacob Lifshay <<a href="mailto:programmerjake@gmail.com" target="_blank" rel="noreferrer">programmerjake@gmail.com</a>> wrote:<br>
> I found this on the RISC-V mailing lists, looks interesting:<br>
> <a href="https://player.vimeo.com/video/450406346" rel="noreferrer noreferrer" target="_blank">https://player.vimeo.com/video/450406346</a><br>
><br>
> it's a talk by one of the x86 AVX512 instruction set designers covering the<br>
> benefits and mistakes of AVX512.<br>
<br>
oo fascinating.  nice find.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">One important thing they mentioned is that swizzles should not be combined with ALU ops. Combining them with load/stores is fine though.</div><div dir="auto"><br></div><div dir="auto">I'm thinking that if we have the realignment network on the input of the ALUs anyway to handle packing the ALUs fuller when doing predicated ops (AVX512 doesn't do that), then swizzles might be fine to combine with ALU ops anyway.</div><div dir="auto"><br></div><div dir="auto">Jacob</div></div>