I've encountered the following issue on LLVM 21.1.0 rc1 as a result of https://github.com/llvm/llvm-project/pull/138839#issuecomment-3137287195 on PPC64LE, with the ppc_fp128 type. ``` $ cat t.ll target datalayout = "e-m:e-Fn32-i64:64-i128:128-n32:64-S128-v256:256:256-v512:512:512" target triple = "powerpc64le-unknown-linux-gnu" define ppc_fp128 @test(ppc_fp128 nofpclass(nan) %s) { entry: ret ppc_fp128 %s } $ llc < t.ll .abiversion 2 .file "<stdin>" ExpandFloatResult #0: t7: ppcf128 = AssertNoFPClass t5, TargetConstant:i32<3> LLVM ERROR: Do not know how to expand the result of this operator! PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. Stack dump: 0. Program arguments: llc 1. Running pass 'Function Pass Manager' on module '<stdin>'. 2. Running pass 'PowerPC DAG->DAG Pattern Instruction Selection' on function '@test' #0 0x0000071c5b0bb42c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) #1 0x0000071c5b0bbbd4 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0 #2 0x0000071c5b0b7fac llvm::sys::RunSignalHandlers() #3 0x0000071c5b0bc83c SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0 #4 0x00006b262e170444 (linux-vdso64.so.1+0x444) #5 0x00006b262d8f55fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76 #6 0x00006b262d8f55fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10 #7 0x00006b262d8f55fc pthread_kill ./nptl/pthread_kill.c:89:10 #8 0x00006b262d88bd5c raise ./signal/../sysdeps/posix/raise.c:26:13 #9 0x00006b262d86645c abort ./stdlib/abort.c:79:7 #10 0x0000071c5aff42fc llvm::report_fatal_error(llvm::Twine const&, bool) #11 0x0000071c5aff402c llvm::report_fatal_error(char const*, bool) #12 0x0000071c5aec252c llvm::DAGTypeLegalizer::ExpandFloatResult(llvm::SDNode*, unsigned int) LegalizeFloatTypes.cpp:0:0 #13 0x0000071c5ae5bbcc llvm::DAGTypeLegalizer::run() LegalizeTypes.cpp:0:0 . . . ``` The `ISD::AssertNoFPClass` presumably needs to know how to expand float results.