[PATCH] luoxhu - backport from trunk r255555, r257253 and r258137
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
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
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
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