Allow both upper and lower case 'r' in register names

2019-07-29  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	PR target/70320
	* config/msp430/msp430.h: Define ADDITIONAL_REGISTER_NAMES.

2019-07-29  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	PR target/70320
	* gcc.target/msp430/asm-register-names-lower-case.c: New test.
	* gcc.target/msp430/asm-register-names-upper-case.c: Likewise.

From-SVN: r273883
This commit is contained in:
Jozef Lawrynowicz 2019-07-29 19:21:18 +00:00 committed by Jozef Lawrynowicz
parent 2c393dabda
commit 3781698890
5 changed files with 83 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2019-07-29 Jozef Lawrynowicz <jozef.l@mittosystems.com>
PR target/70320
* config/msp430/msp430.h: Define ADDITIONAL_REGISTER_NAMES.
2019-07-29 Richard Sandiford <richard.sandiford@arm.com>
PR middle-end/91242

View file

@ -225,6 +225,28 @@ extern const char * msp430_select_hwmult_lib (int, const char **);
"argptr" \
}
/* Allow lowercase "r" to be used in register names instead of upper
case "R". */
#define ADDITIONAL_REGISTER_NAMES \
{ \
{ "r0", 0 }, \
{ "r1", 1 }, \
{ "r2", 2 }, \
{ "r3", 3 }, \
{ "r4", 4 }, \
{ "r5", 5 }, \
{ "r6", 6 }, \
{ "r7", 7 }, \
{ "r8", 8 }, \
{ "r9", 9 }, \
{ "r10", 10 }, \
{ "r11", 11 }, \
{ "r12", 12 }, \
{ "r13", 13 }, \
{ "r14", 14 }, \
{ "r15", 15 } \
}
enum reg_class
{
NO_REGS,

View file

@ -1,3 +1,9 @@
2019-07-29 Jozef Lawrynowicz <jozef.l@mittosystems.com>
PR target/70320
* gcc.target/msp430/asm-register-names-lower-case.c: New test.
* gcc.target/msp430/asm-register-names-upper-case.c: Likewise.
2019-07-29 Martin Liska <mliska@suse.cz>
* g++.dg/cpp1y/new1.C (test_unused): Add new case that causes

View file

@ -0,0 +1,25 @@
/* { dg-do compile } */
/* { dg-options "-fdump-rtl-expand" } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R4" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R5" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R6" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R7" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R8" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R9" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R10" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R11" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R12" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R13" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R14" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R15" expand } } */
/* PR target/70320
Check that a lower case "r" in register names is accepted in
an asm statement clobber list. */
void
foo (void)
{
__asm__ ("" : : : "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12",
"r13", "r14", "r15");
}

View file

@ -0,0 +1,25 @@
/* { dg-do compile } */
/* { dg-options "-fdump-rtl-expand" } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R4" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R5" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R6" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R7" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R8" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R9" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R10" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R11" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R12" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R13" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R14" expand } } */
/* { dg-final { scan-rtl-dump "(?n)clobber.*R15" expand } } */
/* PR target/70320
Check that an upper case "r" in register names is accepted in
an asm statement clobber list. */
void
foo (void)
{
__asm__ ("" : : : "R4", "R5", "R6", "R7", "R8", "R9", "R10", "R11", "R12",
"R13", "R14", "R15");
}