[llvm-branch-commits] [llvm-branch] r282753 - [3.9.1] Merging r280837 [X86] Don't reduce the width of vector mul if the target doesn't support SSE2.

Simon Pilgrim via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Sep 29 12:16:52 PDT 2016


Author: rksimon
Date: Thu Sep 29 14:16:52 2016
New Revision: 282753

URL: http://llvm.org/viewvc/llvm-project?rev=282753&view=rev
Log:
[3.9.1] Merging r280837 [X86] Don't reduce the width of vector mul if the target doesn't support SSE2.

The patch is to fix PR30298, which is caused by rL272694. The solution is to
bail out if the target has no SSE2.

Differential Revision: https://reviews.llvm.org/D24288

Added:
    llvm/branches/release_39/test/CodeGen/X86/pr30298.ll
      - copied unchanged from r280837, llvm/trunk/test/CodeGen/X86/pr30298.ll
Modified:
    llvm/branches/release_39/   (props changed)
    llvm/branches/release_39/lib/Target/X86/X86ISelLowering.cpp

Propchange: llvm/branches/release_39/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Sep 29 14:16:52 2016
@@ -1,3 +1,3 @@
 /llvm/branches/Apple/Pertwee:110850,110961
 /llvm/branches/type-system-rewrite:133420-134817
-/llvm/trunk:155241,275868-275870,275879,275898,275928,275935,275946,275978,275981,276015,276051,276077,276109,276119,276181,276209,276236-276237,276358,276364,276368,276389,276435,276438,276479,276510,276648,276676,276712,276740,276823,276956,276980,277093,277114,277135,277371,277399,277500,277504,277625,277691,277693,277773,278002,278086,278133,278157,278343,278370,278413,278558-278559,278562,278569,278571,278573,278575,278584,278841,278900,278938,278999,279125,279268,279369,279647,281957
+/llvm/trunk:155241,275868-275870,275879,275898,275928,275935,275946,275978,275981,276015,276051,276077,276109,276119,276181,276209,276236-276237,276358,276364,276368,276389,276435,276438,276479,276510,276648,276676,276712,276740,276823,276956,276980,277093,277114,277135,277371,277399,277500,277504,277625,277691,277693,277773,278002,278086,278133,278157,278343,278370,278413,278558-278559,278562,278569,278571,278573,278575,278584,278841,278900,278938,278999,279125,279268,279369,279647,280837,281957

Modified: llvm/branches/release_39/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_39/lib/Target/X86/X86ISelLowering.cpp?rev=282753&r1=282752&r2=282753&view=diff
==============================================================================
--- llvm/branches/release_39/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/branches/release_39/lib/Target/X86/X86ISelLowering.cpp Thu Sep 29 14:16:52 2016
@@ -27516,7 +27516,8 @@ static SDValue reduceVMULWidth(SDNode *N
                                const X86Subtarget &Subtarget) {
   // pmulld is supported since SSE41. It is better to use pmulld
   // instead of pmullw+pmulhw.
-  if (Subtarget.hasSSE41())
+  // pmullw/pmulhw are not supported by SSE.
+  if (Subtarget.hasSSE41() || !Subtarget.hasSSE2())
     return SDValue();
 
   ShrinkMode Mode;




More information about the llvm-branch-commits mailing list