[PATCH][AArch64] Enable access to the whole MRS/MSR system reg encoding space

James Molloy james at jamesmolloy.co.uk
Mon Sep 29 09:52:22 PDT 2014


Hi,

Tom, I relent and am happy with it available universally if Jim is.

Cheers,

James

On 29 September 2014 17:37, Jim Grosbach <grosbach at apple.com> wrote:

> Hi Tom,
>
> I have a slight preference for allowing the alternative universally, but
> don’t object to putting it behind a flag. Since this is behavior that will
> be relevant to end-users, not just us compiler folks, however, the flag
> should be at the clang driver level, not just a backend flag as this patch
> implements.
>
> -Jim
>
>
> > On Sep 29, 2014, at 3:32 AM, Tom Coxon <tom.coxon at arm.com> wrote:
> >
> > Hi Jim,
> >
> > Could you let me know which patch would be preferred? The new one is
> attached. The previous one you approved (but was shot down by James Molloy)
> didn't include the command line option.
> >
> > Thanks,
> > Tom
> >
> > -----Original Message-----
> > From: Tom Coxon [mailto:tom.coxon at arm.com]
> > Sent: 19 September 2014 17:02
> > To: 'Jim Grosbach'
> > Cc: llvm-commits; 'james at jamesmolloy.co.uk'
> > Subject: RE: [PATCH][AArch64] Enable access to the whole MRS/MSR system
> reg encoding space
> >
> > Hi Jim,
> >
> > Thanks for approving the patch. In case you missed it, James Molloy
> raised a concern:
> >
> >> However, the change makes the production compiler less strict, and I
> >> don't think that's right. This change should be enabled behind a flag
> >> so that a user explicitly has to opt-in to it.
> >
> > I've attached an alternative patch that enables it only when
> -aarch64-enable-undefined-sysregs is used. Could you let me know your
> preference?
> >
> > Thanks,
> > Tom
> >
> >
> > -----Original Message-----
> > From: Jim Grosbach [mailto:grosbach at apple.com]
> > Sent: 18 September 2014 17:55
> > To: Tom Coxon
> > Cc: llvm-commits
> > Subject: Re: [PATCH][AArch64] Enable access to the whole MRS/MSR system
> reg encoding space
> >
> > Huh. I thought we already did that for exactly the reasons you state. In
> any case, sounds reasonable to me. Patch looks fine, please commit.
> >
> > -Jim
> >
> >> On Sep 18, 2014, at 6:57 AM, Tom Coxon <tom.coxon at arm.com> wrote:
> >>
> >> Hi all,
> >>
> >> The attached patch enables access to the whole space of ARMv8-A system
> registers through the S<op0>_<op1>_<Cn>_<Cm>_<op2> syntax.
> >>
> >> This is useful to anyone needing to write assembly code supporting new
> system registers before the assembler has learned the official names for
> them.
> >>
> >> Although this is a real use case, it is niche and most users should
> still use the official system registers names. In order to avoid
> encouraging general use of this syntax, ARM is not planning to document
> this in the ARMARM.
> >>
> >> Regards,
> >> Tom
> >>
> >> Files changed:
> >> lib/Target/AArch64/AArch64InstrFormats.td          |   12 +++----
> >> .../AArch64/Disassembler/AArch64Disassembler.cpp   |   24 +++----------
> >> .../AArch64/InstPrinter/AArch64InstPrinter.cpp     |   12 +++----
> >> lib/Target/AArch64/Utils/AArch64BaseInfo.cpp       |   36
> +++++++-------------
> >> lib/Target/AArch64/Utils/AArch64BaseInfo.h         |    2 +-
> >> test/MC/AArch64/arm64-system-encoding.s            |    4 +++
> >> test/MC/AArch64/basic-a64-diagnostics.s            |   16 ++++-----
> >> test/MC/AArch64/basic-a64-instructions.s           |    8 +++--
> >> 8 files changed, 44 insertions(+), 70 deletions(-)
> >> <0001-AArch64-Allow-access-to-all-system-registers-with-MR.patch>
> >
> >
> > <0001-AArch64-Allow-access-to-all-system-registers-with-MR.patch>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140929/a987ae08/attachment.html>


More information about the llvm-commits mailing list