<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Also, please elaborate on why this is a good change. Because gas accepts it isn’t sufficient reason in and of itself.<div><br></div><div>-Jim</div><div><br><div><div>On Jul 10, 2013, at 1:18 PM, Eli Friedman <<a href="mailto:eli.friedman@gmail.com">eli.friedman@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">On Wed, Jul 10, 2013 at 12:29 PM, Ramkumar Ramachandra<br><<a href="mailto:artagnon@gmail.com">artagnon@gmail.com</a>> wrote:<br><blockquote type="cite">The instructions btr and bts are perfectly valid, and have existed since<br>Intel 386. GNU as supports them fine. Unfortunately, LLVM does not<br>support them, and barfs with:<br><br> error: ambiguous instructions require an explicit suffix<br><br>Fix this problem by disambiguating it correctly, following the example<br>set by 824a907.<br><br>Cc: Eli Friedman <<a href="mailto:eli.friedman@gmail.com">eli.friedman@gmail.com</a>><br>Cc: Chris Lattner <<a href="mailto:sabre@nondot.org">sabre@nondot.org</a>><br>Signed-off-by: Ramkumar Ramachandra <<a href="mailto:artagnon@gmail.com">artagnon@gmail.com</a>><br>---<br>I've probably done something stupid; seems to build correctly, but<br>that's all I know. Also, tests are pending.<br><br>lib/Target/X86/X86InstrInfo.td | 4 ++++<br>1 file changed, 4 insertions(+)<br><br>diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td<br>index f33ae2a..4950674 100644<br>--- a/lib/Target/X86/X86InstrInfo.td<br>+++ b/lib/Target/X86/X86InstrInfo.td<br>@@ -1971,6 +1971,10 @@ def : InstAlias<"aam", (AAM8i8 10)>;<br>// Disambiguate the mem/imm form of bt-without-a-suffix as btl.<br>def : InstAlias<"bt $imm, $mem", (BT32mi8 i32mem:$mem, i32i8imm:$imm)>;<br><br>+// Disambiguate btr and bts, just like GNU as.<br>+def : InstAlias<"btr $imm, $mem", (BT16mi8 i16mem:$mem, i16i8imm:$imm)>;<br>+def : InstAlias<"bts $imm, $mem", (BT16mi8 i16mem:$mem, i16i8imm:$imm)>;<br>+<br>// clr aliases.<br>def : InstAlias<"clrb $reg", (XOR8rr GR8 :$reg, GR8 :$reg)>;<br>def : InstAlias<"clrw $reg", (XOR16rr GR16:$reg, GR16:$reg)>;<br>--<br>1.8.3.2.736.g869de25<br><br></blockquote><br>Please send patches to llvm-commits. Please include a testcase with<br>each patch. Please check that your patch actually works correctly<br>before sending it to the mailing list for review. (See<br><a href="http://llvm.org/docs/DeveloperPolicy.html">http://llvm.org/docs/DeveloperPolicy.html</a><span class="Apple-converted-space"> </span>.)<br><br>-Eli<br>_______________________________________________<br>LLVM Developers mailing list<br><a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a><span class="Apple-converted-space"> </span> <a href="http://llvm.cs.uiuc.edu/">http://llvm.cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a></div></blockquote></div><br></div></body></html>