[llvm] [Mips] Promote MSA half-vector shuffles to integer vectors (PR #226105)

Folkert de Vries via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 24 11:57:51 PDT 2026


================
@@ -154,6 +154,10 @@ MipsSETargetLowering::MipsSETargetLowering(const MipsTargetMachine &TM,
     addMSAFloatType(MVT::v4f32, &Mips::MSA128WRegClass);
     addMSAFloatType(MVT::v2f64, &Mips::MSA128DRegClass);
 
+    // Shuffle half vectors as integers to avoid expanding them through
+    // EXTRACT_VECTOR_ELT and BUILD_VECTOR with an illegal scalar f16 type.
+    setOperationPromotedToType(ISD::VECTOR_SHUFFLE, MVT::v8f16, MVT::v8i16);
----------------
folkertdev wrote:

Are there other operations that need a similar promotion? Is there a better way to find out than one bug report at the time? 

https://github.com/llvm/llvm-project/pull/226105


More information about the llvm-commits mailing list