Skip to content

aarch64: prfm is not treated as an alias to prfum #83226

@pinskia

Description

@pinskia

Forwarded from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99092 when building GCC with LLVM's assembler.
But can be reproduced with an inline-asm as simple as:

void f(void)
{
        asm("prfm    PLDL1KEEP, [x0, #-8]");
}

My analysis of why this is a LLVM assembler issue can be found at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99092#c9 .
The ARM folks specifically wanted to output pfrm from GCC too:
https://gcc.gnu.org/legacy-ml/gcc-patches/2014-07/msg00612.html

When it comes to emitting the pattern, always use "prfm" -- the prfum
form can be generated from the prfm mnemonic when the offset implies
this is necessary.

So I suspect this should be accepted by the LLVM assembler also.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions