On Wed, Jan 23, 2013 at 4:40 PM, Tim Northover <span dir="ltr"><<a href="mailto:t.p.northover@gmail.com" target="_blank">t.p.northover@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">>> It doesn't look like TableGen supports Constraints beyond EARLY_CLOBBER<br>
>> and TIED_TO.  We would need to add a constraint such as "$dst != $src1,<br>
>> $dst != $mask, $src1 != $mask" to the current patterns to enforce the<br>
>> rules.<br>
> You can emulate such constraints via early clobbing. Just mark dst as<br>
> early clobbing.<br>
<br>
</div>How would that (or any early clobbering) enforce $src1 != $mask? Or is<br>
it a fortuitous side-effect of implementation?</blockquote><div><br></div><div>In this case, $src1 is also the destination register. A masked gather will merge the conditionally selected elements into the input vector.</div>
<div><br></div><div>-Cameron </div></div>