<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>