diff mbox series

[v2,rs6000] Use $ instead of . for PC

Message ID 998e398d-b1a6-162e-d81f-46a79073a94f@linux.vnet.ibm.com
State New
Headers show
Series [v2,rs6000] Use $ instead of . for PC | expand

Commit Message

Bill Schmidt Jan. 20, 2018, 3:31 a.m. UTC
Hi,

Here's the same patch with corrected test cases.  This has now passed
bootstrap and testing on powerpc64-linux-gnu and powerpc64le-linux-gnu
with no regressions.  Is this okay for trunk?

Hopefully tomorrow early I will have a separate patch also changing
"setcr eq" to "setcr 2" to accommodate the AIX assembler.

Thanks,
Bill


[gcc]

2018-01-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
	    David Edelsohn <dje.gcc@gmail.com>

	PR target/83946
	* config/rs6000/rs6000.md (*sibcall_nonlocal_sysv<mode>): Change
	assembly output from . to $.
	(*sibcall_value_nonlocal_sysv<mode>): Likewise.
	(indirect_jump<mode>_nospec): Likewise.
	(*tablejump<mode>_internal1_nospec): Likewise.

[gcc/testsuite]

2018-01-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
	    David Edelsohn <dje.gcc@gmail.com>

	PR target/83946
	* gcc.target/powerpc/safe-indirect-jump-2.c: Change expected
	assembly output from . to $.
	* gcc.target/powerpc/safe-indirect-jump-3.c: Likewise.
	* gcc.target/powerpc/safe-indirect-jump-8.c: Likewise.

Comments

Bill Schmidt Jan. 20, 2018, 3:34 a.m. UTC | #1
Forgot to mention, these have also been tested successfully as backports in
gcc-7-branch.  Okay to fix there as well?

Thanks,
Bill

> On Jan 19, 2018, at 9:31 PM, Bill Schmidt <wschmidt@linux.vnet.ibm.com> wrote:
> 
> Hi,
> 
> Here's the same patch with corrected test cases.  This has now passed
> bootstrap and testing on powerpc64-linux-gnu and powerpc64le-linux-gnu
> with no regressions.  Is this okay for trunk?
> 
> Hopefully tomorrow early I will have a separate patch also changing
> "setcr eq" to "setcr 2" to accommodate the AIX assembler.
> 
> Thanks,
> Bill
> 
> 
> [gcc]
> 
> 2018-01-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
> 	    David Edelsohn <dje.gcc@gmail.com>
> 
> 	PR target/83946
> 	* config/rs6000/rs6000.md (*sibcall_nonlocal_sysv<mode>): Change
> 	assembly output from . to $.
> 	(*sibcall_value_nonlocal_sysv<mode>): Likewise.
> 	(indirect_jump<mode>_nospec): Likewise.
> 	(*tablejump<mode>_internal1_nospec): Likewise.
> 
> [gcc/testsuite]
> 
> 2018-01-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
> 	    David Edelsohn <dje.gcc@gmail.com>
> 
> 	PR target/83946
> 	* gcc.target/powerpc/safe-indirect-jump-2.c: Change expected
> 	assembly output from . to $.
> 	* gcc.target/powerpc/safe-indirect-jump-3.c: Likewise.
> 	* gcc.target/powerpc/safe-indirect-jump-8.c: Likewise.
> 
> 
> Index: gcc/config/rs6000/rs6000.md
> ===================================================================
> --- gcc/config/rs6000/rs6000.md	(revision 256894)
> +++ gcc/config/rs6000/rs6000.md	(working copy)
> @@ -10987,7 +10987,7 @@
> 	return \"b%T0\";
>       else
> 	/* Can use CR0 since it is volatile across sibcalls.  */
> -	return \"crset eq\;beq%T0-\;b .\";
> +	return \"crset eq\;beq%T0-\;b $\";
>     }
>   else if (DEFAULT_ABI == ABI_V4 && flag_pic)
>     {
> @@ -11044,7 +11044,7 @@
> 	return \"b%T1\";
>       else
> 	/* Can use CR0 since it is volatile across sibcalls.  */
> -	return \"crset eq\;beq%T1-\;b .\";
> +	return \"crset eq\;beq%T1-\;b $\";
>     }
>   else if (DEFAULT_ABI == ABI_V4 && flag_pic)
>     {
> @@ -12566,7 +12566,7 @@
>   [(set (pc) (match_operand:P 0 "register_operand" "c,*l"))
>    (clobber (match_operand:CC 1 "cc_reg_operand" "=y,y"))]
>   "!rs6000_speculate_indirect_jumps"
> -  "crset %E1\;beq%T0- %1\;b ."
> +  "crset %E1\;beq%T0- %1\;b $"
>   [(set_attr "type" "jmpreg")
>    (set_attr "length" "12")])
> 
> @@ -12672,7 +12672,7 @@
>    (use (label_ref (match_operand 1)))
>    (clobber (match_operand:CC 2 "cc_reg_operand" "=y,y"))]
>   "!rs6000_speculate_indirect_jumps"
> -  "crset %E2\;beq%T0- %2\;b ."
> +  "crset %E2\;beq%T0- %2\;b $"
>   [(set_attr "type" "jmpreg")
>    (set_attr "length" "12")])
> 
> Index: gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-2.c
> ===================================================================
> --- gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-2.c	(revision 256894)
> +++ gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-2.c	(working copy)
> @@ -30,4 +30,4 @@ int foo (int x)
> 
> /* { dg-final { scan-assembler "crset 30" } } */
> /* { dg-final { scan-assembler "beqctr- 7" } } */
> -/* { dg-final { scan-assembler "b ." } } */
> +/* { dg-final { scan-assembler {b \$} } } */
> Index: gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-3.c
> ===================================================================
> --- gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-3.c	(revision 256894)
> +++ gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-3.c	(working copy)
> @@ -49,4 +49,4 @@ int foo (int x)
> 
> /* { dg-final { scan-assembler "crset 30" } } */
> /* { dg-final { scan-assembler "beqctr- 7" } } */
> -/* { dg-final { scan-assembler "b ." } } */
> +/* { dg-final { scan-assembler {b \$} } } */
> Index: gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-8.c
> ===================================================================
> --- gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-8.c	(revision 256894)
> +++ gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-8.c	(working copy)
> @@ -12,4 +12,4 @@ int bar ()
> 
> /* { dg-final { scan-assembler "crset eq" } } */
> /* { dg-final { scan-assembler "beqctr-" } } */
> -/* { dg-final { scan-assembler "b ." } } */
> +/* { dg-final { scan-assembler {b \$} } } */
>
Richard Biener Jan. 20, 2018, 2:04 p.m. UTC | #2
On January 20, 2018 4:34:20 AM GMT+01:00, Bill Schmidt <wschmidt@linux.vnet.ibm.com> wrote:
>Forgot to mention, these have also been tested successfully as
>backports in
>gcc-7-branch.  Okay to fix there as well?

OK. 

Richard. 

>Thanks,
>Bill
>
>> On Jan 19, 2018, at 9:31 PM, Bill Schmidt
><wschmidt@linux.vnet.ibm.com> wrote:
>> 
>> Hi,
>> 
>> Here's the same patch with corrected test cases.  This has now passed
>> bootstrap and testing on powerpc64-linux-gnu and
>powerpc64le-linux-gnu
>> with no regressions.  Is this okay for trunk?
>> 
>> Hopefully tomorrow early I will have a separate patch also changing
>> "setcr eq" to "setcr 2" to accommodate the AIX assembler.
>> 
>> Thanks,
>> Bill
>> 
>> 
>> [gcc]
>> 
>> 2018-01-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
>> 	    David Edelsohn <dje.gcc@gmail.com>
>> 
>> 	PR target/83946
>> 	* config/rs6000/rs6000.md (*sibcall_nonlocal_sysv<mode>): Change
>> 	assembly output from . to $.
>> 	(*sibcall_value_nonlocal_sysv<mode>): Likewise.
>> 	(indirect_jump<mode>_nospec): Likewise.
>> 	(*tablejump<mode>_internal1_nospec): Likewise.
>> 
>> [gcc/testsuite]
>> 
>> 2018-01-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
>> 	    David Edelsohn <dje.gcc@gmail.com>
>> 
>> 	PR target/83946
>> 	* gcc.target/powerpc/safe-indirect-jump-2.c: Change expected
>> 	assembly output from . to $.
>> 	* gcc.target/powerpc/safe-indirect-jump-3.c: Likewise.
>> 	* gcc.target/powerpc/safe-indirect-jump-8.c: Likewise.
>> 
>> 
>> Index: gcc/config/rs6000/rs6000.md
>> ===================================================================
>> --- gcc/config/rs6000/rs6000.md	(revision 256894)
>> +++ gcc/config/rs6000/rs6000.md	(working copy)
>> @@ -10987,7 +10987,7 @@
>> 	return \"b%T0\";
>>       else
>> 	/* Can use CR0 since it is volatile across sibcalls.  */
>> -	return \"crset eq\;beq%T0-\;b .\";
>> +	return \"crset eq\;beq%T0-\;b $\";
>>     }
>>   else if (DEFAULT_ABI == ABI_V4 && flag_pic)
>>     {
>> @@ -11044,7 +11044,7 @@
>> 	return \"b%T1\";
>>       else
>> 	/* Can use CR0 since it is volatile across sibcalls.  */
>> -	return \"crset eq\;beq%T1-\;b .\";
>> +	return \"crset eq\;beq%T1-\;b $\";
>>     }
>>   else if (DEFAULT_ABI == ABI_V4 && flag_pic)
>>     {
>> @@ -12566,7 +12566,7 @@
>>   [(set (pc) (match_operand:P 0 "register_operand" "c,*l"))
>>    (clobber (match_operand:CC 1 "cc_reg_operand" "=y,y"))]
>>   "!rs6000_speculate_indirect_jumps"
>> -  "crset %E1\;beq%T0- %1\;b ."
>> +  "crset %E1\;beq%T0- %1\;b $"
>>   [(set_attr "type" "jmpreg")
>>    (set_attr "length" "12")])
>> 
>> @@ -12672,7 +12672,7 @@
>>    (use (label_ref (match_operand 1)))
>>    (clobber (match_operand:CC 2 "cc_reg_operand" "=y,y"))]
>>   "!rs6000_speculate_indirect_jumps"
>> -  "crset %E2\;beq%T0- %2\;b ."
>> +  "crset %E2\;beq%T0- %2\;b $"
>>   [(set_attr "type" "jmpreg")
>>    (set_attr "length" "12")])
>> 
>> Index: gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-2.c
>> ===================================================================
>> --- gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-2.c	(revision
>256894)
>> +++ gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-2.c	(working
>copy)
>> @@ -30,4 +30,4 @@ int foo (int x)
>> 
>> /* { dg-final { scan-assembler "crset 30" } } */
>> /* { dg-final { scan-assembler "beqctr- 7" } } */
>> -/* { dg-final { scan-assembler "b ." } } */
>> +/* { dg-final { scan-assembler {b \$} } } */
>> Index: gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-3.c
>> ===================================================================
>> --- gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-3.c	(revision
>256894)
>> +++ gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-3.c	(working
>copy)
>> @@ -49,4 +49,4 @@ int foo (int x)
>> 
>> /* { dg-final { scan-assembler "crset 30" } } */
>> /* { dg-final { scan-assembler "beqctr- 7" } } */
>> -/* { dg-final { scan-assembler "b ." } } */
>> +/* { dg-final { scan-assembler {b \$} } } */
>> Index: gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-8.c
>> ===================================================================
>> --- gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-8.c	(revision
>256894)
>> +++ gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-8.c	(working
>copy)
>> @@ -12,4 +12,4 @@ int bar ()
>> 
>> /* { dg-final { scan-assembler "crset eq" } } */
>> /* { dg-final { scan-assembler "beqctr-" } } */
>> -/* { dg-final { scan-assembler "b ." } } */
>> +/* { dg-final { scan-assembler {b \$} } } */
>>
diff mbox series

Patch

Index: gcc/config/rs6000/rs6000.md
===================================================================
--- gcc/config/rs6000/rs6000.md	(revision 256894)
+++ gcc/config/rs6000/rs6000.md	(working copy)
@@ -10987,7 +10987,7 @@ 
 	return \"b%T0\";
       else
 	/* Can use CR0 since it is volatile across sibcalls.  */
-	return \"crset eq\;beq%T0-\;b .\";
+	return \"crset eq\;beq%T0-\;b $\";
     }
   else if (DEFAULT_ABI == ABI_V4 && flag_pic)
     {
@@ -11044,7 +11044,7 @@ 
 	return \"b%T1\";
       else
 	/* Can use CR0 since it is volatile across sibcalls.  */
-	return \"crset eq\;beq%T1-\;b .\";
+	return \"crset eq\;beq%T1-\;b $\";
     }
   else if (DEFAULT_ABI == ABI_V4 && flag_pic)
     {
@@ -12566,7 +12566,7 @@ 
   [(set (pc) (match_operand:P 0 "register_operand" "c,*l"))
    (clobber (match_operand:CC 1 "cc_reg_operand" "=y,y"))]
   "!rs6000_speculate_indirect_jumps"
-  "crset %E1\;beq%T0- %1\;b ."
+  "crset %E1\;beq%T0- %1\;b $"
   [(set_attr "type" "jmpreg")
    (set_attr "length" "12")])
 
@@ -12672,7 +12672,7 @@ 
    (use (label_ref (match_operand 1)))
    (clobber (match_operand:CC 2 "cc_reg_operand" "=y,y"))]
   "!rs6000_speculate_indirect_jumps"
-  "crset %E2\;beq%T0- %2\;b ."
+  "crset %E2\;beq%T0- %2\;b $"
   [(set_attr "type" "jmpreg")
    (set_attr "length" "12")])
 
Index: gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-2.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-2.c	(revision 256894)
+++ gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-2.c	(working copy)
@@ -30,4 +30,4 @@  int foo (int x)
 
 /* { dg-final { scan-assembler "crset 30" } } */
 /* { dg-final { scan-assembler "beqctr- 7" } } */
-/* { dg-final { scan-assembler "b ." } } */
+/* { dg-final { scan-assembler {b \$} } } */
Index: gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-3.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-3.c	(revision 256894)
+++ gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-3.c	(working copy)
@@ -49,4 +49,4 @@  int foo (int x)
 
 /* { dg-final { scan-assembler "crset 30" } } */
 /* { dg-final { scan-assembler "beqctr- 7" } } */
-/* { dg-final { scan-assembler "b ." } } */
+/* { dg-final { scan-assembler {b \$} } } */
Index: gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-8.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-8.c	(revision 256894)
+++ gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-8.c	(working copy)
@@ -12,4 +12,4 @@  int bar ()
 
 /* { dg-final { scan-assembler "crset eq" } } */
 /* { dg-final { scan-assembler "beqctr-" } } */
-/* { dg-final { scan-assembler "b ." } } */
+/* { dg-final { scan-assembler {b \$} } } */