[llvm] [AArch64][SME] Fix frame lowering not using a base pointer for SME functions. (PR #91643)

Eli Friedman via llvm-commits llvm-commits at lists.llvm.org
Fri May 10 11:42:00 PDT 2024


efriedma-quic wrote:

Your testcase doesn't appear to crash on trunk?  Or is that reduced?

If you just want to force the codepath in question, something smaller like the following works:

```
void g(int, void*, svfloat32_t, void*);
void f(int x, svfloat32_t y) {
  void *p = __builtin_alloca(x);
  __attribute((aligned(16))) int a[32]; 
  asm("":::"v0","v1","v2","v3","v4","v5","v6","v7","v8","v9","v10","v11","v12","v13","v14","v15","v16",
    "v17","v18","v19","v20","v21","v22","v23","v24","v25","v26","v27","v28","v29","v30","v31",
    "x0","x1","x2","x3","x4","x5","x6","x7","x8","x9","x10","x11","x12","x13","x14","x15","x16",
    "x17","x18","x19","x20","x21","x22","x23","x24","x25","x26","x27","x28","x30");
  g(x,p,y,a);
}
```

----

Note we'll probably end up messing with the fp/bp code at some point to address #80009.

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


More information about the llvm-commits mailing list