[PATCH] [DAGCombiner] Combine shuffles of BUILD_VECTOR and SCALAR_TO_VECTOR

Andrea Di Biagio Andrea_DiBiagio at sn.scee.net
Wed Apr 1 11:50:46 PDT 2015


In http://reviews.llvm.org/D8516#150644, @RKSimon wrote:

> Thanks Andrea. Are you happy with me submitting with these changes (after tests) or would prefer another review?


The patch looks good to me.
Thanks!


REPOSITORY
  rL LLVM

================
Comment at: test/CodeGen/X86/mmx-bitcast.ll:78
@@ +77,3 @@
+; CHECK-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
+; CHECK-NEXT:    movd %xmm1, %rax
+; CHECK-NEXT:    retq
----------------
RKSimon wrote:
> RKSimon wrote:
> > andreadb wrote:
> > > I don't think this is related to your patch. However, this looks like a bug to me. Shouldn't this be a 'movq'?
> > movd deals with 32 and 64-bit gprs <-> vector moves. movq does vector load/stores and vector <-> vector moves. Its a funny old world.
> Actually scrub that - this does appear to be a bug. Its is a (v)movq instruction - but encoded similar to the (v)movd and completely separate to the (v)movq vector version.
Anyway, this problem is not related to your patch. In case, you can raise a bug for it.

http://reviews.llvm.org/D8516

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list