[WebAssembly] Stop unrolling SIMD shifts since they are fixed in V8
authorThomas Lively <tlively@google.com>
Wed, 14 Aug 2019 16:24:37 +0000 (16:24 +0000)
committerThomas Lively <tlively@google.com>
Wed, 14 Aug 2019 16:24:37 +0000 (16:24 +0000)
Summary:
Fixes PR42973. Tests don't change because simd-arith.ll tests behavior
on unimplemented-simd128, which does not include any temporary
workarounds such as the one removed in this revision.

Reviewers: aheejin

Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, dmgreen, llvm-commits

Tags: #llvm

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

llvm-svn: 368868

llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp

index 1563aeb16a1f826dfb3731f142f9a20acda3b11f..3cbc109020fcb31abf0eb61756a49eee95c8f61b 100644 (file)
@@ -1449,11 +1449,6 @@ 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;