Revert "[X86][NFC] Refactor: there's only v16bf16 in 256-bit shuffle"
authorPhoebe Wang <phoebe.wang@intel.com>
Tue, 6 Jun 2023 02:41:26 +0000 (10:41 +0800)
committerPhoebe Wang <phoebe.wang@intel.com>
Tue, 6 Jun 2023 02:41:26 +0000 (10:41 +0800)
This reverts commit 50a2341fe92f8a5ff934bd279450581e9cbcf103.

This results in buildbot fail.

llvm/lib/Target/X86/X86ISelLowering.cpp

index fce17bb..2542c8d 100644 (file)
@@ -19101,11 +19101,11 @@ static SDValue lower256BitShuffle(const SDLoc &DL, ArrayRef<int> Mask, MVT VT,
     return DAG.getBitcast(VT, DAG.getVectorShuffle(FpVT, DL, V1, V2, Mask));
   }
 
-  if (VT == MVT::v16f16 || VT == MVT::v16bf16) {
-    V1 = DAG.getBitcast(MVT::v16i16, V1);
-    V2 = DAG.getBitcast(MVT::v16i16, V2);
-    return DAG.getBitcast(MVT::v16f16,
-                          DAG.getVectorShuffle(MVT::v16i16, DL, V1, V2, Mask));
+  if (VT == MVT::v16f16 || VT.getVectorElementType() == MVT::bf16) {
+    MVT IVT = VT.changeVectorElementTypeToInteger();
+    V1 = DAG.getBitcast(IVT, V1);
+    V2 = DAG.getBitcast(IVT, V2);
+    return DAG.getBitcast(VT, DAG.getVectorShuffle(IVT, DL, V1, V2, Mask));
   }
 
   switch (VT.SimpleTy) {