Zhang via llvm-dev
2019-Apr-23 17:22 UTC
[llvm-dev] How to enable AArch64 V8.3A support in clang?
Hey: Apple's version of Clang has support for ``-arch arm64e``which enables ARM PAC support. IIRC a few years ago someone from Apple/ARM says they are planning to merge the support back to upstream and judging by my very limited experience with backend it seems to be the case. However I just couldn't get that part to work. Directly using ``-arch arm64e`` doesn't seem to work and results in a ``invalid arch name '-arch arm64e'``. I then tried multiple combinations like ``-target arm64-apple-ios5.0.0 -march=armv8.3-a`` but has no effect. The binary still doesn't have any V8.3A instructions. Am I missing something here? Thanks Zhang -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190424/bce5ab38/attachment.html>
Ahmed Bougacha via llvm-dev
2019-Apr-23 18:13 UTC
[llvm-dev] How to enable AArch64 V8.3A support in clang?
Hi Zhang, On Tue, Apr 23, 2019 at 10:22 AM Zhang via llvm-dev <llvm-dev at lists.llvm.org> wrote:> > Hey: > Apple's version of Clang has support for ``-arch arm64e``which enables ARM PAC support. IIRC a few years ago someone from Apple/ARM says they are planning to merge the support back to upstream and judging by my very limited experience with backend it seems to be the case. However I just couldn't get that part to work. Directly using ``-arch arm64e`` doesn't seem to work and results in a ``invalid arch name '-arch arm64e'``. > > I then tried multiple combinations like ``-target arm64-apple-ios5.0.0 -march=armv8.3-a`` but has no effect. The binary still doesn't have any V8.3A instructions. Am I missing something here?arm64e is only supported by Apple Clang at this time. Upstream LLVM/Clang has various bits and pieces, including: full assembler/disassembler for v8.3a, some basic codegen (for return address signing and v8.5a BTI), and minimal MachO object reading. Let me know if you have any questions, -Ahmed> > Thanks > > > Zhang > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Gerolf Hoflehner via llvm-dev
2019-Apr-23 18:42 UTC
[llvm-dev] How to enable AArch64 V8.3A support in clang?
We will push back the full implementation. Stay tuned. -Gerolf> On Apr 23, 2019, at 11:13 AM, Ahmed Bougacha via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > Hi Zhang, > > On Tue, Apr 23, 2019 at 10:22 AM Zhang via llvm-dev > <llvm-dev at lists.llvm.org> wrote: >> >> Hey: >> Apple's version of Clang has support for ``-arch arm64e``which enables ARM PAC support. IIRC a few years ago someone from Apple/ARM says they are planning to merge the support back to upstream and judging by my very limited experience with backend it seems to be the case. However I just couldn't get that part to work. Directly using ``-arch arm64e`` doesn't seem to work and results in a ``invalid arch name '-arch arm64e'``. >> >> I then tried multiple combinations like ``-target arm64-apple-ios5.0.0 -march=armv8.3-a`` but has no effect. The binary still doesn't have any V8.3A instructions. Am I missing something here? > > arm64e is only supported by Apple Clang at this time. > Upstream LLVM/Clang has various bits and pieces, including: full > assembler/disassembler for v8.3a, some basic codegen (for return > address signing and v8.5a BTI), and minimal MachO object reading. > > Let me know if you have any questions, > -Ahmed > >> >> Thanks >> >> >> Zhang >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev