Revert "[WebAssembly] Lower SIMD shifts since they are fixed in V8"
authorThomas Lively <tlively@google.com>
Fri, 1 Mar 2019 17:43:55 +0000 (17:43 +0000)
committerThomas Lively <tlively@google.com>
Fri, 1 Mar 2019 17:43:55 +0000 (17:43 +0000)
They weren't fixed in V8. Oops.

llvm-svn: 355208

llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp

index 4255e0e..50bd5a9 100644 (file)
@@ -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;