[PATCH] luoxhu - backport from trunk r255555, r257253 and r258137

2019-02-18 Thread luoxhu
From: Xiong Hu Luo 

This is a backport of r25, r257253 and r258137 of trunk to gcc-7-branch.
The patches were on trunk before GCC 8 forked already. Totally 5 files need
mannual resolve due to code changes for r25. r257253 and r258137 are
dependent testcases require vsx support need merge to avoid regression.

The discussion for the patch r25 that went into trunk is:
https://gcc.gnu.org/ml/gcc-patches/2017-12/msg00394.html
VSX support for patch r257253 and r258137:
https://gcc.gnu.org/ml/gcc-patches/2018-01/msg02391.html
https://gcc.gnu.org/ml/gcc-patches/2018-02/msg01506.html

gcc/ChangeLog:

2019-01-14  Luo Xiong Hu  

Backport from trunk. Mannually resolve 3 files:
* config/rs6000/altivec.h (vec_extract_fp32_from_shorth,
vec_extract_fp32_from_shortl): Resolve new #defines.
* config/rs6000/rs6000-c.c (ALTIVEC_BUILTIN_VEC_SLD): Resolve
new expensions.
* doc/extend.texi: (vec_sld, vec_sll, vec_srl, vec_sro,
vec_unpackh, vec_unpackl, test_vsi_packsu_vssi_vssi, vec_packsu,
vec_cmpne): Resolve new documentation.
2017-12-11  Carl Love  

* config/rs6000/altivec.h (vec_extract_fp32_from_shorth,
vec_extract_fp32_from_shortl]): Add #defines.
* config/rs6000/rs6000-builtin.def (VSLDOI_2DI): Add macro expansion.
* config/rs6000/rs6000-c.c (ALTIVEC_BUILTIN_VEC_UNPACKH,
ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VEC_AND,
ALTIVEC_BUILTIN_VEC_SLD, ALTIVEC_BUILTIN_VEC_SRL,
ALTIVEC_BUILTIN_VEC_SRO, ALTIVEC_BUILTIN_VEC_SLD,
ALTIVEC_BUILTIN_VEC_SLL): Add expansions.
* doc/extend.texi: Add documentation for the added builtins.

gcc/testsuite/ChangeLog:

2019-01-14  Luo Xiong Hu  

Backport from trunk r25. Mannually resolve 2 files:
* gcc.target/powerpc/builtins-3-p8.c (test_vsi_packs_vusi,
test_vsi_packsu-vssi, test_vsi_packsu-vusi, test_vsi_packsu-vsll,
test_vsi_packsu-vull, test_vsi_packsu-vsi, test_vsi_packsu-vui):
Resolve new cases.
* gcc.target/powerpc/builtins-3.c (test_sll_vsc_vsc_vsuc,
test_sll_vuc_vuc, test_sll_vsi_vsi_vuc, test_sll_vui_vui_vuc,
test_sll_vbll_vull, test_sll_vbll_vbll_vus, test_sll_vp_vp_vuc,
test_sll_vssi_vssi_vuc, test_sll_vusi_vusi_vuc, test_slo_vsc_vsc_vsc,
test_slo_vuc_vuc_vsc, test_slo_vsi_vsi_vsc, test_slo_vsi_vsi_vuc,
test_slo_vui_vui_vsc, test_slo_vui_vui_vuc, test_slo_vp_vp_vsc,
test_slo_vp_vp_vuc, test_slo_vssi_vssi_vsc, test_slo_vssi_vssi_vuc,
test_slo_vusi_vusi_vsc, test_slo_vusi_vusi_vuc, test_slo_vusi_vusi_vuc,
test_slo_vf_vf_vsc, test_slo_vf_vf_vuc, test_cmpb_float): Resolve
new cases.
2017-12-11  Carl Love  

* gcc.target/powerpc/altivec-7.c: Renamed altivec-7.h.
* gcc.target/powerpc/altivec-7.h (main): Add testcases for vec_unpackl.
Add dg-final tests for the instructions generated.
* gcc.target/powerpc/altivec-7-be.c: New file to test on big endian.
* gcc.target/powerpc/altivec-7-le.c: New file to test on little endian.
* gcc.target/powerpc/altivec-13.c (foo): Add vec_sld, vec_srl,
 vec_sro testcases. Add dg-final tests for the instructions generated.
* gcc.target/powerpc/builtins-3-p8.c (test_vsi_packs_vui,
test_vsi_packs_vsi, test_vsi_packs_vssi, test_vsi_packs_vusi,
test_vsi_packsu-vssi, test_vsi_packsu-vusi, test_vsi_packsu-vsll,
test_vsi_packsu-vull, test_vsi_packsu-vsi, test_vsi_packsu-vui): Add
testcases. Add dg-final tests for new instructions.
* gcc.target/powerpc/p8vector-builtin-2.c (vbschar_eq, vbchar_eq,
vuchar_eq, vbint_eq, vsint_eq, viint_eq, vuint_eq, vbool_eq, vbint_ne,
vsint_ne, vuint_ne, vbool_ne, vsign_ne, vuns_ne, vbshort_ne): Add
tests.
Add dg-final instruction tests.
* gcc.target/powerpc/vsx-vector-6.c: Renamed vsx-vector-6.h.
* gcc.target/powerpc/vsx-vector-6.h (vec_andc,vec_nmsub, vec_nmadd,
vec_or, vec_nor, vec_andc, vec_or, vec_andc, vec_msums): Add tests.
Add dg-final tests for the generated instructions.
* gcc.target/powerpc/builtins-3.c (test_sll_vsc_vsc_vsuc,
test_sll_vuc_vuc, test_sll_vsi_vsi_vuc, test_sll_vui_vui_vuc,
test_sll_vbll_vull, test_sll_vbll_vbll_vus, test_sll_vp_vp_vuc,
test_sll_vssi_vssi_vuc, test_sll_vusi_vusi_vuc, test_slo_vsc_vsc_vsc,
test_slo_vuc_vuc_vsc, test_slo_vsi_vsi_vsc, test_slo_vsi_vsi_vuc,
test_slo_vui_vui_vsc, test_slo_vui_vui_vuc, test_slo_vsll_slo_vsll_vsc,
test_slo_vsll_slo_vsll_vuc, test_slo_vull_slo_vull_vsc,
test_slo_vull_slo_vull_vuc, test_slo_vp_vp_vsc, test_slo_vp_vp_vuc,
test_slo_vssi_vssi_vsc, test_slo_vssi_vssi_vuc, test_slo_vusi_vusi_vsc,
test_slo_vusi_vusi_vuc, test_slo_vusi_vusi_vuc, test_slo_vf_vf_vsc,
test_slo_vf_vf_vuc, test_cmpb_float): Add tests.

Backport fro

Re: [PATCH] luoxhu - backport from trunk r255555, r257253 and r258137

2019-02-19 Thread Segher Boessenkool
Hi!

On Tue, Feb 19, 2019 at 01:23:53AM -0600, luo...@linux.ibm.com wrote:
> This is a backport of r25, r257253 and r258137 of trunk to gcc-7-branch.
> The patches were on trunk before GCC 8 forked already. Totally 5 files need
> mannual resolve due to code changes for r25. r257253 and r258137 are
> dependent testcases require vsx support need merge to avoid regression.

Could you show what changes you needed, please?  As patches for example.
It's not clear from the log :-(

> 2019-01-14  Luo Xiong Hu  
> 
>   Backport from trunk. Mannually resolve 3 files:

Two spaces after a full stop.  "Manually", one "n".

>   * config/rs6000/altivec.h (vec_extract_fp32_from_shorth,
>   vec_extract_fp32_from_shortl): Resolve new #defines.

I don't know what this means, "resolve"?

>   * config/rs6000/rs6000-c.c (ALTIVEC_BUILTIN_VEC_SLD): Resolve
>   new expensions.

Same.  (And "expansions"?  Or what did you mean?).

>   * doc/extend.texi: (vec_sld, vec_sll, vec_srl, vec_sro,
>   vec_unpackh, vec_unpackl, test_vsi_packsu_vssi_vssi, vec_packsu,
>   vec_cmpne): Resolve new documentation.
>   2017-12-11  Carl Love  

An empty line before a new changelog please (before date and author).


Segher


Re: [PATCH] luoxhu - backport from trunk r255555, r257253 and r258137

2019-02-19 Thread Xiong Hu Luo

Hi Segher,

On 2019/2/20 AM6:24, Segher Boessenkool wrote:

Hi!

On Tue, Feb 19, 2019 at 01:23:53AM -0600, luo...@linux.ibm.com wrote:

This is a backport of r25, r257253 and r258137 of trunk to gcc-7-branch.
The patches were on trunk before GCC 8 forked already. Totally 5 files need
mannual resolve due to code changes for r25. r257253 and r258137 are
dependent testcases require vsx support need merge to avoid regression.


Could you show what changes you needed, please?  As patches for example.
It's not clear from the log :-(


I generate the r25 patch from trunk and use the "git am" to apply it 
to gcc-7-branch to backport, error happens as below:


[gcc-7-branch] $ git am 0001-gcc-ChangeLog.patch
Applying: gcc/ChangeLog:
error: patch failed: gcc/ChangeLog:1
error: gcc/ChangeLog: patch does not apply
error: patch failed: gcc/config/rs6000/altivec.h:458
error: gcc/config/rs6000/altivec.h: patch does not apply
error: patch failed: gcc/config/rs6000/rs6000-c.c:3618
error: gcc/config/rs6000/rs6000-c.c: patch does not apply
error: patch failed: gcc/doc/extend.texi:17382
error: gcc/doc/extend.texi: patch does not apply
error: patch failed: gcc/testsuite/ChangeLog:1
error: gcc/testsuite/ChangeLog: patch does not apply
error: patch failed: gcc/testsuite/gcc.target/powerpc/builtins-3-p8.c:16
error: gcc/testsuite/gcc.target/powerpc/builtins-3-p8.c: patch does not 
apply

error: patch failed: gcc/testsuite/gcc.target/powerpc/builtins-3.c:88
error: gcc/testsuite/gcc.target/powerpc/builtins-3.c: patch does not apply
error: patch failed: gcc/testsuite/gcc.target/powerpc/vsx-vector-6.c:1
error: gcc/testsuite/gcc.target/powerpc/vsx-vector-6.c: patch does not apply
Patch failed at 0001 gcc/ChangeLog:
The copy of the patch that failed is found in: .git/rebase-apply/patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

The 5 files (altivec.h, rs6000-c.c, extend.texi, etc.) couldn't apply 
due to some dependent patches in trunk not backported, should I find all 
the dependency patches(maybe many patches required) and backport them 
all to avoid such errors or just resolve these errors in this patch? 
that's why I use the word "resolve" below, will merge or rebase be 
better to understand?


Then I use command "git apply 0001-gcc-ChangeLog.patch --reject" and 
manually fix the rejected hunks. Do you have better suggested steps for 
such kind of backport, please? Thanks.





2019-01-14  Luo Xiong Hu  

Backport from trunk. Mannually resolve 3 files:


Two spaces after a full stop.  "Manually", one "n".


* config/rs6000/altivec.h (vec_extract_fp32_from_shorth,
vec_extract_fp32_from_shortl): Resolve new #defines.


I don't know what this means, "resolve"?


* config/rs6000/rs6000-c.c (ALTIVEC_BUILTIN_VEC_SLD): Resolve
new expensions.


Same.  (And "expansions"?  Or what did you mean?).


"expansions" means macro expansion is copied from previous ChangeLog, 
the original ChangeLog is:


2017-12-11  Carl Love  

* config/rs6000/altivec.h (vec_extract_fp32_from_shorth,
vec_extract_fp32_from_shortl]): Add #defines.
* config/rs6000/rs6000-builtin.def (VSLDOI_2DI): Add macro expansion.
* config/rs6000/rs6000-c.c (ALTIVEC_BUILTIN_VEC_UNPACKH,
ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VEC_AND,
ALTIVEC_BUILTIN_VEC_SLD, ALTIVEC_BUILTIN_VEC_SRL,
ALTIVEC_BUILTIN_VEC_SRO, ALTIVEC_BUILTIN_VEC_SLD,
ALTIVEC_BUILTIN_VEC_SLL): Add expansions.
* doc/extend.texi: Add documentation for the added builtins.

Xionghu




* doc/extend.texi: (vec_sld, vec_sll, vec_srl, vec_sro,
vec_unpackh, vec_unpackl, test_vsi_packsu_vssi_vssi, vec_packsu,
vec_cmpne): Resolve new documentation.
2017-12-11  Carl Love  


An empty line before a new changelog please (before date and author).


Segher





Re: [PATCH] luoxhu - backport from trunk r255555, r257253 and r258137

2019-02-22 Thread Segher Boessenkool
On Wed, Feb 20, 2019 at 09:40:25AM +0800, Xiong Hu Luo wrote:
> On 2019/2/20 AM6:24, Segher Boessenkool wrote:
> >On Tue, Feb 19, 2019 at 01:23:53AM -0600, luo...@linux.ibm.com wrote:
> >>This is a backport of r25, r257253 and r258137 of trunk to 
> >>gcc-7-branch.
> >>The patches were on trunk before GCC 8 forked already. Totally 5 files 
> >>need
> >>mannual resolve due to code changes for r25. r257253 and r258137 are
> >>dependent testcases require vsx support need merge to avoid regression.
> >
> >Could you show what changes you needed, please?  As patches for example.
> >It's not clear from the log :-(

So what is different?  Why did those patches not apply?  Your changelog
says you did have to change things.  So what are those?


Segher