[v2,0/2] Fix vec_sel code generation and merge xxsel to vsel

Message ID 20210917052505.2469224-1-luoxhu@linux.ibm.com
Headers
Series Fix vec_sel code generation and merge xxsel to vsel |

Message

Xionghu Luo Sept. 17, 2021, 5:25 a.m. UTC
  These two patches are updated version from:
https://gcc.gnu.org/pipermail/gcc-patches/2021-September/579490.html

Changes:
1. Fix alignment error in md files.
2. Replace rtx_equal_p with match_dup.
3. Use register_operand instead of gpc_reg_operand to align with
   vperm/xxperm.
4. Regression tested pass on P8LE.

Xionghu Luo (2):
  rs6000: Fix wrong code generation for vec_sel [PR94613]
  rs6000: Fold xxsel to vsel since they have same semantics

 gcc/config/rs6000/altivec.md                  | 84 ++++++++++++++-----
 gcc/config/rs6000/rs6000-call.c               | 62 ++++++++++++++
 gcc/config/rs6000/rs6000.c                    | 19 ++---
 gcc/config/rs6000/vector.md                   | 26 +++---
 gcc/config/rs6000/vsx.md                      | 25 ------
 gcc/testsuite/gcc.target/powerpc/builtins-1.c |  2 +-
 gcc/testsuite/gcc.target/powerpc/pr94613.c    | 47 +++++++++++
 7 files changed, 193 insertions(+), 72 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/powerpc/pr94613.c
  

Comments

Xionghu Luo Oct. 8, 2021, 1:17 a.m. UTC | #1
Ping, thanks.


On 2021/9/17 13:25, Xionghu Luo wrote:
> These two patches are updated version from:
> https://gcc.gnu.org/pipermail/gcc-patches/2021-September/579490.html
> 
> Changes:
> 1. Fix alignment error in md files.
> 2. Replace rtx_equal_p with match_dup.
> 3. Use register_operand instead of gpc_reg_operand to align with
>    vperm/xxperm.
> 4. Regression tested pass on P8LE.
> 
> Xionghu Luo (2):
>   rs6000: Fix wrong code generation for vec_sel [PR94613]
>   rs6000: Fold xxsel to vsel since they have same semantics
> 
>  gcc/config/rs6000/altivec.md                  | 84 ++++++++++++++-----
>  gcc/config/rs6000/rs6000-call.c               | 62 ++++++++++++++
>  gcc/config/rs6000/rs6000.c                    | 19 ++---
>  gcc/config/rs6000/vector.md                   | 26 +++---
>  gcc/config/rs6000/vsx.md                      | 25 ------
>  gcc/testsuite/gcc.target/powerpc/builtins-1.c |  2 +-
>  gcc/testsuite/gcc.target/powerpc/pr94613.c    | 47 +++++++++++
>  7 files changed, 193 insertions(+), 72 deletions(-)
>  create mode 100644 gcc/testsuite/gcc.target/powerpc/pr94613.c
>
  
Xionghu Luo Oct. 15, 2021, 6:28 a.m. UTC | #2
Ping^2, thanks.

https://gcc.gnu.org/pipermail/gcc-patches/2021-September/579637.html


On 2021/10/8 09:17, Xionghu Luo via Gcc-patches wrote:
> Ping, thanks.
> 
> 
> On 2021/9/17 13:25, Xionghu Luo wrote:
>> These two patches are updated version from:
>> https://gcc.gnu.org/pipermail/gcc-patches/2021-September/579490.html
>>
>> Changes:
>> 1. Fix alignment error in md files.
>> 2. Replace rtx_equal_p with match_dup.
>> 3. Use register_operand instead of gpc_reg_operand to align with
>>    vperm/xxperm.
>> 4. Regression tested pass on P8LE.
>>
>> Xionghu Luo (2):
>>   rs6000: Fix wrong code generation for vec_sel [PR94613]
>>   rs6000: Fold xxsel to vsel since they have same semantics
>>
>>  gcc/config/rs6000/altivec.md                  | 84 ++++++++++++++-----
>>  gcc/config/rs6000/rs6000-call.c               | 62 ++++++++++++++
>>  gcc/config/rs6000/rs6000.c                    | 19 ++---
>>  gcc/config/rs6000/vector.md                   | 26 +++---
>>  gcc/config/rs6000/vsx.md                      | 25 ------
>>  gcc/testsuite/gcc.target/powerpc/builtins-1.c |  2 +-
>>  gcc/testsuite/gcc.target/powerpc/pr94613.c    | 47 +++++++++++
>>  7 files changed, 193 insertions(+), 72 deletions(-)
>>  create mode 100644 gcc/testsuite/gcc.target/powerpc/pr94613.c
>>
>
  
Xionghu Luo Oct. 22, 2021, 3:25 a.m. UTC | #3
Ping^3, thanks.

https://gcc.gnu.org/pipermail/gcc-patches/2021-September/579637.html


On 2021/10/15 14:28, Xionghu Luo via Gcc-patches wrote:
> Ping^2, thanks.
> 
> https://gcc.gnu.org/pipermail/gcc-patches/2021-September/579637.html
> 
> 
> On 2021/10/8 09:17, Xionghu Luo via Gcc-patches wrote:
>> Ping, thanks.
>>
>>
>> On 2021/9/17 13:25, Xionghu Luo wrote:
>>> These two patches are updated version from:
>>> https://gcc.gnu.org/pipermail/gcc-patches/2021-September/579490.html
>>>
>>> Changes:
>>> 1. Fix alignment error in md files.
>>> 2. Replace rtx_equal_p with match_dup.
>>> 3. Use register_operand instead of gpc_reg_operand to align with
>>>    vperm/xxperm.
>>> 4. Regression tested pass on P8LE.
>>>
>>> Xionghu Luo (2):
>>>   rs6000: Fix wrong code generation for vec_sel [PR94613]
>>>   rs6000: Fold xxsel to vsel since they have same semantics
>>>
>>>  gcc/config/rs6000/altivec.md                  | 84 ++++++++++++++-----
>>>  gcc/config/rs6000/rs6000-call.c               | 62 ++++++++++++++
>>>  gcc/config/rs6000/rs6000.c                    | 19 ++---
>>>  gcc/config/rs6000/vector.md                   | 26 +++---
>>>  gcc/config/rs6000/vsx.md                      | 25 ------
>>>  gcc/testsuite/gcc.target/powerpc/builtins-1.c |  2 +-
>>>  gcc/testsuite/gcc.target/powerpc/pr94613.c    | 47 +++++++++++
>>>  7 files changed, 193 insertions(+), 72 deletions(-)
>>>  create mode 100644 gcc/testsuite/gcc.target/powerpc/pr94613.c
>>>
>>
>
  
David Edelsohn Oct. 27, 2021, 1:17 p.m. UTC | #4
This patch series is okay.

Thanks, David

On Thu, Oct 21, 2021 at 11:25 PM Xionghu Luo <luoxhu@linux.ibm.com> wrote:
>
> Ping^3, thanks.
>
> https://gcc.gnu.org/pipermail/gcc-patches/2021-September/579637.html
>
>
> On 2021/10/15 14:28, Xionghu Luo via Gcc-patches wrote:
> > Ping^2, thanks.
> >
> > https://gcc.gnu.org/pipermail/gcc-patches/2021-September/579637.html
> >
> >
> > On 2021/10/8 09:17, Xionghu Luo via Gcc-patches wrote:
> >> Ping, thanks.
> >>
> >>
> >> On 2021/9/17 13:25, Xionghu Luo wrote:
> >>> These two patches are updated version from:
> >>> https://gcc.gnu.org/pipermail/gcc-patches/2021-September/579490.html
> >>>
> >>> Changes:
> >>> 1. Fix alignment error in md files.
> >>> 2. Replace rtx_equal_p with match_dup.
> >>> 3. Use register_operand instead of gpc_reg_operand to align with
> >>>    vperm/xxperm.
> >>> 4. Regression tested pass on P8LE.
> >>>
> >>> Xionghu Luo (2):
> >>>   rs6000: Fix wrong code generation for vec_sel [PR94613]
> >>>   rs6000: Fold xxsel to vsel since they have same semantics
> >>>
> >>>  gcc/config/rs6000/altivec.md                  | 84 ++++++++++++++-----
> >>>  gcc/config/rs6000/rs6000-call.c               | 62 ++++++++++++++
> >>>  gcc/config/rs6000/rs6000.c                    | 19 ++---
> >>>  gcc/config/rs6000/vector.md                   | 26 +++---
> >>>  gcc/config/rs6000/vsx.md                      | 25 ------
> >>>  gcc/testsuite/gcc.target/powerpc/builtins-1.c |  2 +-
> >>>  gcc/testsuite/gcc.target/powerpc/pr94613.c    | 47 +++++++++++
> >>>  7 files changed, 193 insertions(+), 72 deletions(-)
> >>>  create mode 100644 gcc/testsuite/gcc.target/powerpc/pr94613.c
> >>>
> >>
> >
>
> --
> Thanks,
> Xionghu