<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Hi,<br>
<br>
There is now an RFC for a roadmap to native vector predication
support in LLVM and a prototype implementation:<br>
<br>
<a class="moz-txt-link-freetext" href="https://reviews.llvm.org/D57504">https://reviews.llvm.org/D57504</a><br>
<br>
The prototype demonstrates:<br>
<br>
- Predicated vector intrinsics with an explicit mask and vector
length parameter on IR level.<br>
- First-class predicated SDNodes on ISel level. Mask and vector
length are value operands.<br>
- An incremental strategy to generalize
PatternMatch/InstCombine/InstSimplify and DAGCombiner to work on
both regular instructions and EVL intrinsics.<br>
- DAGCombiner example: FMA fusion.<br>
- InstCombine/InstSimplify example: FSub pattern re-writes.<br>
- Early experiments on the LNT test suite (Clang static release, O3
-ffast-math) indicate that compile time on non-EVL IR is not
affected by the API abstractions in PatternMatch, etc.<br>
<br>
We’d like to get your feedback, in particular on the following to
move forward:<br>
<br>
- Can we agree on EVL intrinsics as a transitional step to
predicated IR instructions?<br>
- Can we agree on native EVL SDNodes for CodeGen?<br>
- Are the changes to InstCombine/InstSimplify/DAGCombiner and
utility classes that go with it acceptable?<br>
<br>
Thanks<br>
Simon<span style="font-size: 11pt; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><span style="font-size: 11pt; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span>
<pre class="moz-signature" cols="72">--
Simon Moll
Researcher / PhD Student
Compiler Design Lab (Prof. Hack)
Saarland University, Computer Science
Building E1.3, Room 4.31
Tel. +49 (0)681 302-57521 : <a class="moz-txt-link-abbreviated" href="mailto:moll@cs.uni-saarland.de">moll@cs.uni-saarland.de</a>
Fax. +49 (0)681 302-3065 : <a class="moz-txt-link-freetext" href="http://compilers.cs.uni-saarland.de/people/moll">http://compilers.cs.uni-saarland.de/people/moll</a></pre>
</body>
</html>