<div dir="ltr">Joerg, do you have a specific objections to anything in David's original patch that used two feature bits?<div><br></div><div>My comments for the 2 feature bit patch would be to use Subtarget->is32BitMode() defined in terms of the two bits here. And rename is16Bit/is64Bit to is16BitMode/is64BitMode for consistency.</div>

<div><pre style="white-space:pre-wrap">+def In32BitMode  : Predicate<"!Subtarget->is64Bit() && !Subtarget->is16Bit()">,
+                             AssemblerPredicate<"!Mode64Bit,!Mode16Bit",
+                            "32-bit mode">;</pre><pre style="white-space:pre-wrap"><span style="font-family:arial,helvetica,sans-serif">I think I'd also like to see a single switchMode function like your 3 feature flag patch. But pass 0 for the 32-bit case.</span><br>
</pre><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Jan 5, 2014 at 2:04 PM, Joerg Sonnenberger <span dir="ltr"><<a href="mailto:joerg@britannica.bec.de" target="_blank">joerg@britannica.bec.de</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div>On Sun, Jan 05, 2014 at 07:32:36AM -0600, Craig Topper wrote:<br>


> Is it possible to do this with only one new feature bit. Can we just have<br>
> Mode16Bit and Mode64Bit with Mode32 implied if the others aren't set?<br>
<br>
</div>What I believe to be the correct approach is to have three explicit<br>
predicates: is16BitMode, is32BitMode and is64BitMode. Whether they share<br>
feature bits in the backend is of smaller concern to me, but I would<br>
strongly prefer to not have as much implicit assumptions as currently<br>
("!64 == 32"). How does that sound?<br>
<span><font color="#888888"><br>
Joerg<br>
</font></span><div><div>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>~Craig
</div></div></div>