-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ARM] Crash "Call result #2 has unhandled type f64" with integer-only MVE and setjmp #109922
Comments
@llvm/issue-subscribers-backend-arm Author: Oliver Stannard (ostannard)
This code hits an UNREACHABLE in the ARM backend when compiled for a target with integer-only MVE using the hard-float ABI:
```c
#include <setjmp.h>
struct S145 { struct S145 F62() { struct S145 result = {0.0, 0.0, 0.0, 0.0}; static __attribute((noinline)) void F22() { int main() { F22(); return 0;
$ /work/llvm/install/bin/clang --target=arm-none-eabi -march=armv8.1-m.main+mve+nofp -c test.c -O1 -mfloat-abi=hard -isystem /work/et/build/llvm/lib/clang-runtimes/arm-none-eabi/armv8.1m.main_hard_nofp_mve/include
#0 0x000055806a6de817 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/work/llvm/install/bin/clang+0x8095817) PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64" %struct.S145 = type { [4 x double] } define %struct.S145 @F62() "target-features"="+armv8.1-m.main,+mve" { if.then: ; preds = %entry if.end: ; preds = %entry declare dso_local i32 @setjmp(ptr noundef) returns_twice define fastcc void @F22() unnamed_addr "target-features"="+armv8.1-m.main,+mve" {
$ /work/llvm/install/bin/llc < test.ll
#0 0x000055c1963f7317 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/work/llvm/install/bin/llc+0x6d34317)
|
This code hits an UNREACHABLE in the ARM backend when compiled for a target with integer-only MVE using the hard-float ABI:
IR reproducer:
The text was updated successfully, but these errors were encountered: