Issue |
151375
|
Summary |
LLVM 21.1.0: Unable to expand result for ppcf128 with ISD::AssertNoFPClass
|
Labels |
new issue
|
Assignees |
|
Reporter |
amy-kwan
|
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.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs