[PATCH] D64007: [ARM] Fix MVE_VQxDMLxDH instruction class

Mikhail Maltsev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 1 09:07:58 PDT 2019


This revision was automatically updated to reflect the committed changes.
Closed by commit rL364796: [ARM] Fix MVE_VQxDMLxDH instruction class (authored by miyuki, committed by ).

Changed prior to commit:
  https://reviews.llvm.org/D64007?vs=207289&id=207342#toc

Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64007/new/

https://reviews.llvm.org/D64007

Files:
  llvm/trunk/lib/Target/ARM/ARMInstrMVE.td


Index: llvm/trunk/lib/Target/ARM/ARMInstrMVE.td
===================================================================
--- llvm/trunk/lib/Target/ARM/ARMInstrMVE.td
+++ llvm/trunk/lib/Target/ARM/ARMInstrMVE.td
@@ -2747,10 +2747,13 @@
 }
 
 class MVE_VQxDMLxDH<string iname, bit exch, bit round, bit subtract,
-                    string suffix, bits<2> size, list<dag> pattern=[]>
+                    string suffix, bits<2> size, bit earlyclobber,
+                    list<dag> pattern=[]>
   : MVE_qDest_qSrc<iname, suffix, (outs MQPR:$Qd),
-                   (ins MQPR:$Qn, MQPR:$Qm), "$Qd, $Qn, $Qm",
-                   vpred_r, "", pattern> {
+                   (ins MQPR:$Qd_src, MQPR:$Qn, MQPR:$Qm), "$Qd, $Qn, $Qm",
+                   vpred_n,
+                   !if(earlyclobber, "@earlyclobber $Qd,", "") # "$Qd = $Qd_src",
+                   pattern> {
   bits<4> Qn;
 
   let Inst{28} = subtract;
@@ -2765,9 +2768,9 @@
 
 multiclass MVE_VQxDMLxDH_multi<string iname, bit exch,
                                bit round, bit subtract> {
-  def s8  : MVE_VQxDMLxDH<iname, exch, round, subtract, "s8",  0b00>;
-  def s16 : MVE_VQxDMLxDH<iname, exch, round, subtract, "s16", 0b01>;
-  def s32 : MVE_VQxDMLxDH<iname, exch, round, subtract, "s32", 0b10>;
+  def s8  : MVE_VQxDMLxDH<iname, exch, round, subtract, "s8",  0b00, 0b0>;
+  def s16 : MVE_VQxDMLxDH<iname, exch, round, subtract, "s16", 0b01, 0b0>;
+  def s32 : MVE_VQxDMLxDH<iname, exch, round, subtract, "s32", 0b10, 0b1>;
 }
 
 defm MVE_VQDMLADH   : MVE_VQxDMLxDH_multi<"vqdmladh",   0b0, 0b0, 0b0>;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64007.207342.patch
Type: text/x-patch
Size: 1570 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190701/1f253a06/attachment.bin>


More information about the llvm-commits mailing list