<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Jan 11, 2014 at 7:35 PM, Joerg Sonnenberger <span dir="ltr"><<a href="mailto:joerg@bec.de" target="_blank">joerg@bec.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Author: joerg<br>
Date: Sat Jan 11 21:35:18 2014<br>
New Revision: 199026<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=199026&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=199026&view=rev</a><br>
Log:<br>
Add missing mul aliases for armv4 support. Add checks that armv4 can<br>
assemble the various mul instructions.<br>
<br>
Modified:<br>
    llvm/trunk/lib/Target/ARM/ARMInstrInfo.td<br>
    llvm/trunk/test/MC/ARM/directive-arch-armv4.s<br>
<br>
Modified: llvm/trunk/lib/Target/ARM/ARMInstrInfo.td<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrInfo.td?rev=199026&r1=199025&r2=199026&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrInfo.td?rev=199026&r1=199025&r2=199026&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/ARM/ARMInstrInfo.td (original)<br>
+++ llvm/trunk/lib/Target/ARM/ARMInstrInfo.td Sat Jan 11 21:35:18 2014<br>
@@ -5596,9 +5596,18 @@ def : ARMInstAlias<"neg${s}${p} $Rd, $Rm<br>
 def : InstAlias<"nop${p}", (MOVr R0, R0, pred:$p, zero_reg)>,<br>
          Requires<[IsARM, NoV6]>;<br>
<br>
-// UMULL/SMULL are available on all arches, but the instruction definitions<br>
-// need difference constraints pre-v6. Use these aliases for the assembly<br>
-// parsing on pre-v6.<br>
+// MUL/UMLAL/SMLAL/UMULL/SMULL are available on all arches, but<br>
+// the instruction definitions need difference constraints pre-v6.<br>
+// Use these aliases for the assembly parsing on pre-v6.<br>
+def : InstAlias<"mul${s}${p} $Rd, $Rn, $Rm",<br>
+            (MUL GPRnopc:$Rd, GPRnopc:$Rn, GPRnopc:$Rm, pred:$p, cc_out:$s)>,<br>
+         Requires<[IsARM, NoV6]>;<br>
+def : InstAlias<"smlal${s}${p} $RdLo, $RdHi, $Rn, $Rm",<br>
+            (SMLAL GPR:$RdLo, GPR:$RdHi, GPR:$Rn, GPR:$Rm, pred:$p, cc_out:$s)>,<br>
+         Requires<[IsARM, NoV6]>;<br>
+def : InstAlias<"umlal${s}${p} $RdLo, $RdHi, $Rn, $Rm",<br>
+            (UMLAL GPR:$RdLo, GPR:$RdHi, GPR:$Rn, GPR:$Rm, pred:$p, cc_out:$s)>,<br>
+         Requires<[IsARM, NoV6]>;<br>
 def : InstAlias<"smull${s}${p} $RdLo, $RdHi, $Rn, $Rm",<br>
             (SMULL GPR:$RdLo, GPR:$RdHi, GPR:$Rn, GPR:$Rm, pred:$p, cc_out:$s)>,<br>
          Requires<[IsARM, NoV6]>;<br>
<br>
Modified: llvm/trunk/test/MC/ARM/directive-arch-armv4.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/directive-arch-armv4.s?rev=199026&r1=199025&r2=199026&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/directive-arch-armv4.s?rev=199026&r1=199025&r2=199026&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/test/MC/ARM/directive-arch-armv4.s (original)<br>
+++ llvm/trunk/test/MC/ARM/directive-arch-armv4.s Sat Jan 11 21:35:18 2014<br>
@@ -18,7 +18,7 @@<br>
 @ CHECK-OBJ:    Flags [ (0x0)<br>
 @ CHECK-OBJ:    ]<br>
 @ CHECK-OBJ:    Address: 0x0<br>
-@ CHECK-OBJ:    Offset: 0x34<br>
+@ CHECK-OBJ:    Offset: 0x{{[0-9A-F]*}}<br></blockquote><div><br></div><div>Is there a reason to keep this check around?  It seems that it is just adding noise to the test.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

 @ CHECK-OBJ:    Size: 23<br>
 @ CHECK-OBJ:    Link: 0<br>
 @ CHECK-OBJ:    Info: 0<br>
@@ -28,3 +28,12 @@<br>
 @ CHECK-OBJ:      0000: 41160000 00616561 62690001 0C000000  |A....aeabi......|<br>
 @ CHECK-OBJ:      0010: 05340006 010801                      |.4.....|<br>
 @ CHECK-OBJ:    )<br>
+<br>
+<br>
+@ Check that multiplication is supported<br>
+       mul r4, r5, r6<br>
+       smull r4, r5, r6, r3<br>
+       umull r4, r5, r6, r3<br>
+       umlal r4, r5, r6, r3<br>
+       umaal r4, r5, r6, r3<br>
+       smlal r4, r5, r6, r3<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">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>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Saleem Abdulrasool<br>compnerd (at) compnerd (dot) org
</div></div>