From eb716ca2564092f3c9bd3b8a394b45da414370a7 Mon Sep 17 00:00:00 2001 From: Thomas Lively Date: Fri, 1 Mar 2019 17:43:55 +0000 Subject: [PATCH] Revert "[WebAssembly] Lower SIMD shifts since they are fixed in V8" They weren't fixed in V8. Oops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355208 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/WebAssembly/WebAssemblyISelLowering.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp b/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp index 4255e0eb158..50bd5a94f4b 100644 --- a/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp +++ b/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp @@ -1291,6 +1291,11 @@ SDValue WebAssemblyTargetLowering::LowerShift(SDValue Op, // Only manually lower vector shifts assert(Op.getSimpleValueType().isVector()); + // Expand all vector shifts until V8 fixes its implementation + // TODO: remove this once V8 is fixed + if (!Subtarget->hasUnimplementedSIMD128()) + return unrollVectorShift(Op, DAG); + // Unroll non-splat vector shifts BuildVectorSDNode *ShiftVec; SDValue SplatVal; -- 2.50.1