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

Amara Emerson via llvm-commits llvm-commits at lists.llvm.org
Mon May 13 14:26:30 PDT 2024


aemerson 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.

Ah I forgot to add -O0 to the RUN line.

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


More information about the llvm-commits mailing list