On Tue, Jun 6, 2017 at 3:56 AM, Renlin Li <renlin...@foss.arm.com> wrote: > Hi all, > > In this patch, a new integer register operand modifier 'r' is added. This > will use the > proper register name according to the mode of corresponding operand. > > 'w' register for scalar integer mode smaller than DImode > 'x' register for DImode > > This allows more flexibility and would meet people's expectations. > It will help for ILP32 and LP64, and big-endian case. > > A new section is added to document the AArch64 operand modifiers which might > be used in inline assembly. It's not an exhaustive list covers every > modifier. > Only the most common and useful ones are documented. > > The default behavior of integer operand without modifier is clearly > documented > as well. It's not changed so that the patch shouldn't break anything. > > So with this patch, it should resolve the issues in PR63359. > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63359 > > > aarch64-none-elf regression test Okay. Okay to check in?
I think 'r' modifier is very fragile and can be used incorrectly and wrong in some cases really.. I like the documentation though. Thanks, Andrew > > gcc/ChangeLog: > > 2017-06-06 Renlin Li <renlin...@arm.com> > > PR target/63359 > * config/aarch64/aarch64.c (aarch64_print_operand): Add 'r' > modifier. > * doc/extend.texi (AArch64Operandmodifiers): New section.