This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH v2, rs6000] Use $ instead of . for PC
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: gcc-patches at gcc dot gnu dot org,Bill Schmidt <wschmidt at linux dot vnet dot ibm dot com>,GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: Segher Boessenkool <segher at kernel dot crashing dot org>,David Edelsohn <dje dot gcc at gmail dot com>
- Date: Sat, 20 Jan 2018 15:04:15 +0100
- Subject: Re: [PATCH v2, rs6000] Use $ instead of . for PC
- Authentication-results: sourceware.org; auth=none
- References: <998e398d-b1a6-162e-d81f-46a79073a94f@linux.vnet.ibm.com> <2E97F210-340F-4E19-B1E2-EF801A1FB5D1@linux.vnet.ibm.com>
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 \$} } } */
>>