[PATCH] [X86] Refactor PMOV[SZ]Xrm to add missing AVX2 patterns.

Ahmed Bougacha ahmed.bougacha at gmail.com
Thu Nov 6 11:36:58 PST 2014


================
Comment at: lib/Target/X86/X86InstrSSE.td:6094
@@ -6093,3 +6093,3 @@
 //===----------------------------------------------------------------------===//
 // SSE4.1 - Packed Move with Sign/Zero Extend
 //===----------------------------------------------------------------------===//
----------------
delena wrote:
> I'd remove SSE4.1 from the names. We started from sse4.1 many years ago, but now we have AVX and AVX2 instructions here as well.
So I left it as is because I see it as the minimum feature introducing the instructions, and that seems consistent with the rest of the file. I can add /AVX/AVX2 if you feel strongly about it.

================
Comment at: lib/Target/X86/X86InstrSSE.td:6102
@@ -6100,3 +6101,3 @@
                  !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
-                 [(set VR128:$dst, (IntId VR128:$src))], itins.rr>,
+                 [], itins.rr>,
                  Sched<[itins.Sched]>;
----------------
delena wrote:
> reg-to-reg substitution pattern can be here, inside [ ]
The problem is that you would need to carry around the output types for each of the *[WDQ] variants, so I figured it's easier to just write explicit Pats later.

http://reviews.llvm.org/D6125






More information about the llvm-commits mailing list