[PATCH] D36815: [X86] Remove memopmmx pattern fragment

Phabricator via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 17 08:26:04 PDT 2017


This revision was automatically updated to reflect the committed changes.
Closed by commit rL311090: [X86] Remove memopmmx pattern fragment (authored by ctopper).

Changed prior to commit:
  https://reviews.llvm.org/D36815?vs=111460&id=111520#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D36815

Files:
  llvm/trunk/lib/Target/X86/X86InstrFragmentsSIMD.td
  llvm/trunk/lib/Target/X86/X86InstrMMX.td


Index: llvm/trunk/lib/Target/X86/X86InstrFragmentsSIMD.td
===================================================================
--- llvm/trunk/lib/Target/X86/X86InstrFragmentsSIMD.td
+++ llvm/trunk/lib/Target/X86/X86InstrFragmentsSIMD.td
@@ -761,15 +761,6 @@
 def memopv2f64 : PatFrag<(ops node:$ptr), (v2f64 (memop node:$ptr))>;
 def memopv2i64 : PatFrag<(ops node:$ptr), (v2i64 (memop node:$ptr))>;
 
-// SSSE3 uses MMX registers for some instructions. They aren't aligned on a
-// 16-byte boundary.
-// FIXME: 8 byte alignment for mmx reads is not required
-def memop64 : PatFrag<(ops node:$ptr), (load node:$ptr), [{
-  return cast<LoadSDNode>(N)->getAlignment() >= 8;
-}]>;
-
-def memopmmx  : PatFrag<(ops node:$ptr), (x86mmx  (memop64 node:$ptr))>;
-
 def X86masked_gather  : SDNode<"X86ISD::MGATHER",  SDTMaskedGather,
                        [SDNPHasChain, SDNPMayLoad, SDNPMemOperand]>;
 
Index: llvm/trunk/lib/Target/X86/X86InstrMMX.td
===================================================================
--- llvm/trunk/lib/Target/X86/X86InstrMMX.td
+++ llvm/trunk/lib/Target/X86/X86InstrMMX.td
@@ -143,7 +143,7 @@
   def rm64 : MMXSS38I<opc, MRMSrcMem, (outs VR64:$dst), (ins i64mem:$src),
                    !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
                    [(set VR64:$dst,
-                     (IntId64 (bitconvert (memopmmx addr:$src))))],
+                     (IntId64 (bitconvert (load_mmx addr:$src))))],
                    itins.rm>, Sched<[itins.Sched.Folded]>;
 }
 
@@ -163,7 +163,7 @@
         !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
        [(set VR64:$dst,
          (IntId64 VR64:$src1,
-          (bitconvert (memopmmx addr:$src2))))], itins.rm>,
+          (bitconvert (load_mmx addr:$src2))))], itins.rm>,
       Sched<[itins.Sched.Folded, ReadAfterLd]>;
 }
 }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36815.111520.patch
Type: text/x-patch
Size: 1826 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170817/c655add6/attachment.bin>


More information about the llvm-commits mailing list