[llvm] [LegalizeVectorOps][RISCV] Don't promote VP_FABS/FNEG/FCOPYSIGN. (PR #106659)

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 30 00:09:10 PDT 2024


================
@@ -699,6 +702,11 @@ void VectorLegalizer::Promote(SDNode *Node, SmallVectorImpl<SDValue> &Results) {
     // These operations are used to do promotion so they can't be promoted
     // themselves.
     llvm_unreachable("Don't know how to promote this operation!");
+  case ISD::VP_FABS:
+  case ISD::VP_FCOPYSIGN:
+  case ISD::VP_FNEG:
+    // Promoting fabs, fneg, and fcopysign changes their semantics.
+    llvm_unreachable("These operations should not be promoted");
----------------
lukel97 wrote:

For #106652 do we also need to add an llvm_unreachable for the non VP ops?

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


More information about the llvm-commits mailing list