[llvm-dev] llvm-exegesis on AArch64 architecture

John Brawn via llvm-dev llvm-dev at lists.llvm.org
Wed Oct 10 05:41:08 PDT 2018


It looks like everything is currently broken on AArch64, because function return generation is hitting
an assert. I’ve posted D53074 to fix that.

With that fixed instructions that use only X and W registers will work. Almost anything that uses an
immediate won’t work, because the AArch64 backend uses a lot of custom immediate operand types
that aren’t marked OPERAND_IMMEDIATE (which means you get the “has unknown operands” error).

John

From: Luka Ercegovcevic [mailto:Luka.Ercegovcevic at rt-rk.com]
Sent: 09 October 2018 12:27
To: Clement Courbet
Cc: llvm-dev; John Brawn
Subject: Re: llvm-exegesis on AArch64 architecture

Could you take a look at this?

-------- Original Message --------
Subject: Re: llvm-exegesis on AArch64 architecture
Date: Friday, September 21, 2018 16:24 CEST
From: Clement Courbet <courbet at google.com>
To: Luka Ercegovcevic <Luka.Ercegovcevic at rt-rk.com>
CC: llvm-dev <llvm-dev at lists.llvm.org>, Clement Courbet <courbet at google.com>, john.brawn at arm.com
References: <5e72-5ba4fd80-1b-52e52880 at 202407086>



Hi Luka,

I don't have access to and AArch64 machine unfortunately.
I'm adding John Brawn who implemented experimental support for AArch64.

On Fri, Sep 21, 2018 at 4:17 PM, Luka Ercegovcevic <Luka.Ercegovcevic at rt-rk.com<mailto:Luka.Ercegovcevic at rt-rk.com>> wrote:
 Hi everyone,

I can't find for which opcode llvm-exegesis works on AArch64. I have used bash script from the official site that testing all opcodes for X86 architecture and I changed script to test AArch64 opcodes and there is no working case.
There are some errors:
Assertion for AArch64CallLowering::lowerReturn,
setRegTo is not implemented, results will be unreliable,
Infeasible : has unknown operands,
Infeasible : Didn't find any scheme to make the instruction serial,
Unsupported opcode: isPseudo.
Unsupported opcode: isBranch/isIndirectBranch
Unsupported opcode: isCall/isReturn

I'm using llvm trunk (native build for AARCH64), am I missing something?

Thanks!


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181010/cfee0e03/attachment.html>


More information about the llvm-dev mailing list