public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/meissner/heads/work049)] Update ChangeLog.meissner.
@ 2021-04-21 23:10 Michael Meissner
0 siblings, 0 replies; 5+ messages in thread
From: Michael Meissner @ 2021-04-21 23:10 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:d9d64d8e9523ec9e6727bb02985aec4664e9f427
commit d9d64d8e9523ec9e6727bb02985aec4664e9f427
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Wed Apr 21 19:10:16 2021 -0400
Update ChangeLog.meissner.
gcc/
2021-04-21 Michael Meissner <meissner@linux.ibm.com>
* ChangeLog.meissner: Update.
Diff:
---
gcc/ChangeLog.meissner | 74 ++++++++++++++++++++++++--------------------------
1 file changed, 36 insertions(+), 38 deletions(-)
diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index 21ee40692c3..f8a119abcd3 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,3 +1,33 @@
+work049.patch021:
+2021-04-21 Michael Meissner <meissner@linux.ibm.com>
+
+ * config/rs6000/constraint.md (eD): New constraint.
+ * config/rs6000/predicates.md (easy_fp_constant): If the constant
+ can be loaded with XXSPLTI32DX, it is easy.
+ (xxsplti32dx_operand): New predicate.
+ (easy_vector_constant): If the constant can be loaded with
+ XXSPLTI32DX, it is easy.
+ * config/rs6000/rs6000-protos.h (xxsplti32dx_constant_p): New
+ declaration.
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
+ support for -mxxsplti32dx.
+ (+xxsplti32dx_constant_p): New function.
+ (output_vec_const_move): If the operand can be loaded with
+ XXSPLTI32DX, split it.
+ (rs6000_opt_masks): Add -mxxsplti32dx.
+ * config/rs6000/rs6000.md (movsf_hardfloat): Add support for
+ constants loaded with XXSPLTI32DX.
+ (mov<mode>_hardfloat32, FMOVE64 iterator): Add support for
+ constants loaded with XXSPLTI32DX.
+ (mov<mode>_hardfloat64, FMOVE64 iterator): Add support for
+ constants loaded with XXSPLTI32DX.
+ * config/rs6000/rs6000.opt (-mxxsplti32dx): New option.
+ * config/rs6000/vsx.md (UNSPEC_XXSPLTI32DX_CONST): New unspec.
+ (XXSPLTI32DX): New mode iterator.
+ (xxsplti32dx_<mode>): New insn and splitter for XXSPLTI32DX.
+ (xxsplti32dx_<mode>_first): New insn.
+ (xxsplti32dx_<mode>_second): New insn.
+
work049.patch019:
2021-04-21 Michael Meissner <meissner@linux.ibm.com>
@@ -38,49 +68,17 @@ work049.patch017:
work049.patch016:
2021-04-21 Michael Meissner <meissner@linux.ibm.com>
- * config/rs6000/altivec.me (UNSPEC_XXSPLTI32DX): Move to vsx.md.
+ * config/rs6000/altivec.md (UNSPEC_XXSPLTI32DX): Move to vsx.md.
(xxsplti32dx_v4si): Move to vsx.md.
(xxsplti32dx_v4si_inst): Move to vsx.md.
(xxsplti32dx_v4sf): Move to vsx.md.
(xxsplti32dx_v4sf_inst): Move to vsx.md.
- * config/rs6000/contraints.md (eD): New constraint.
- * config/rs6000/predicates.md (easy_fp_constant): If we can load
- the constant with a pair of XXSPLTI32DX instructions, it is easy.
- (xxsplti32dx_operand): New predicate.
- (easy_vector_constant): If we can load the constant with a pair of
- XXSPLTI32DX instructions, it is easy.
- * config/rs6000/rs6000-cpus.def (OTHER_POWER10_MASKS): Add
- -mxxsplti32dx.
- (POWERPC_MASKS): Add -mxxsplti32dx.
- * config/rs6000/rs6000-protos.h (xxsplti32dx_constant_p): New
- declaration.
- * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
- -mxxsplti32dx support.
- (xxsplti32dx_constant_p): New helper function.
- (output_vec_const_move): Split constants that need XXSPLTI32DX.
- (rs6000_opt_masks): Add -mxxsplti32dx.
- * config/rs6000/rs6000.md (movsf_hardfloat): Add support for
- loading constants with XXSPLTI32DX.
- (mov<mode>_hardfloat32, FMOVE64 iterator): Add support for loading
- constants with XXSPLTI32DX.
- (mov<mode>_hardfloat64, FMOVE64 iterator): Add support for loading
- constants with XXSPLTI32DX.
- * config/rs6000/rs6000.opt (-mxxsplti32dx): New switch.
- * config/rs6000/vsx.md (UNSPEC_XXSPLTI32DX): Move unspec here from
+ * config/rs6000/vsx.md (UNSPEC_XXSPLTI32DX): Move from
altivec.md.
- (UNSPEC_XXSPLTI32DX_CONST): New unspec.
- (vsx_mov<mode>_64bit): Bump up size of 'W' vector constants to
- accomidate a pair of XXSPLTI32DX instructions.
- (vsx_mov<mode>_32bit): Bump up size of 'W' vector constants to
- accomidate a pair of XXSPLTI32DX instructions.
- (XXSPLTI32DX): New mode iterator.
- (xxsplti32dx_<mode>): New insn and splits.
- (xxsplti32dx_<mode>_first): New insns.
- (xxsplti32dx_<mode>_second): New insns.
- (xxsplti32dx_v4si): Move here from altivec.md.
- (xxsplti32dx_v4si_inst): Move here from altivec.md.
- (xxsplti32dx_v4sf): Move here from altivec.md.
- (xxsplti32dx_v4sf_inst): Move here from altivec.md.
+ (xxsplti32dx_v4si): Move from altivec.md.
+ (xxsplti32dx_v4si_inst): Move from altivec_md.
+ (xxsplti32dx_v4sf): Move from altivec.md.
+ (xxsplti32dx_v4sf_inst): Move from altivec.md.
work049.patch014:
2021-04-21 Michael Meissner <meissner@linux.ibm.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [gcc(refs/users/meissner/heads/work049)] Update ChangeLog.meissner.
@ 2021-04-22 3:29 Michael Meissner
0 siblings, 0 replies; 5+ messages in thread
From: Michael Meissner @ 2021-04-22 3:29 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:6986456527545427bfe432bab4a1de06bb454576
commit 6986456527545427bfe432bab4a1de06bb454576
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Wed Apr 21 23:29:19 2021 -0400
Update ChangeLog.meissner.
gcc/
2021-04-21 Michael Meissner <meissner@linux.ibm.com>
* ChangeLog.meissner: Update.
gcc/testsuite/
2021-04-21 Michael Meissner <meissner@linux.ibm.com>
* ChangeLog.meissner: Update.
Diff:
---
gcc/ChangeLog.meissner | 8 ++++++++
gcc/testsuite/ChangeLog.meissner | 6 ++++++
2 files changed, 14 insertions(+)
diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index 2a972737bfb..92e1edbda42 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,3 +1,11 @@
+work049.patch023:
+2021-04-21 Michael Meissner <meissner@linux.ibm.com>
+
+ * config/rs6000/rs6000.c (xxsplti32dx_constant_p): Add support for
+ V4SImode and V4SFmode.
+ * config/rs6000/vsx.md (XXSPLTI32DX): Add support for V4SImode and
+ V4SFmode.
+
work049.patch021:
2021-04-21 Michael Meissner <meissner@linux.ibm.com>
diff --git a/gcc/testsuite/ChangeLog.meissner b/gcc/testsuite/ChangeLog.meissner
index c3960f1485c..290ffe80fb6 100644
--- a/gcc/testsuite/ChangeLog.meissner
+++ b/gcc/testsuite/ChangeLog.meissner
@@ -1,3 +1,9 @@
+work049.patch023:
+2021-04-21 Michael Meissner <meissner@linux.ibm.com>
+
+ * gcc.target/powerpc/vec-splat-constant-v4sf-2.c: New test.
+ * gcc.target/powerpc/vec-splat-constant-v4si-2.c: New test.
+
work049.patch022:
2021-04-21 Michael Meissner <meissner@linux.ibm.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [gcc(refs/users/meissner/heads/work049)] Update ChangeLog.meissner.
@ 2021-04-22 1:36 Michael Meissner
0 siblings, 0 replies; 5+ messages in thread
From: Michael Meissner @ 2021-04-22 1:36 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:dfbcff7c108ec94b3c4c424c32f503bdea81dedd
commit dfbcff7c108ec94b3c4c424c32f503bdea81dedd
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Wed Apr 21 21:36:18 2021 -0400
Update ChangeLog.meissner.
gcc/
2021-04-21 Michael Meissner <meissner@linux.ibm.com>
* ChangeLog.meissner: Update.
gcc/testsuite/
2021-04-21 Michael Meissner <meissner@linux.ibm.com>
* ChangeLog.meissner: Update.
Diff:
---
gcc/ChangeLog.meissner | 6 +++++-
gcc/testsuite/ChangeLog.meissner | 9 +++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index f8a119abcd3..2a972737bfb 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -11,7 +11,11 @@ work049.patch021:
declaration.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
support for -mxxsplti32dx.
- (+xxsplti32dx_constant_p): New function.
+ (const_vector_element_all_same): New helper function.
+ (xxspltidp_constant_p): Move CONST_VECTOR and VEC_DUPLICATE code
+ into const_vector_element_all_same and call it.
+ (xxsplti32dx_constant_float_p): New helper function.
+ (xxsplti32dx_constant_p): New function.
(output_vec_const_move): If the operand can be loaded with
XXSPLTI32DX, split it.
(rs6000_opt_masks): Add -mxxsplti32dx.
diff --git a/gcc/testsuite/ChangeLog.meissner b/gcc/testsuite/ChangeLog.meissner
index 608a8cd6515..c3960f1485c 100644
--- a/gcc/testsuite/ChangeLog.meissner
+++ b/gcc/testsuite/ChangeLog.meissner
@@ -1,3 +1,12 @@
+work049.patch022:
+2021-04-21 Michael Meissner <meissner@linux.ibm.com>
+
+ * gcc.target/powerpc/vec-splati-runnable.c: Update insn count.
+ * gcc.target/powerpc/vec-splat-constant-sf.c: Update insn count.
+ * gcc.target/powerpc/vec-splat-constant-df.c: Update insn count.
+ * gcc.target/powerpc/vec-splat-constant-v2df.c: Update insn
+ count.
+
work049.patch016:
2021-04-21 Michael Meissner <meissner@linux.ibm.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [gcc(refs/users/meissner/heads/work049)] Update ChangeLog.meissner.
@ 2021-04-21 17:07 Michael Meissner
0 siblings, 0 replies; 5+ messages in thread
From: Michael Meissner @ 2021-04-21 17:07 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:26401ff5adbc077bddcc08975563b694cb666f1e
commit 26401ff5adbc077bddcc08975563b694cb666f1e
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Wed Apr 21 13:07:26 2021 -0400
Update ChangeLog.meissner.
gcc/
2021-04-21 Michael Meissner <meissner@linux.ibm.com>
* ChangeLog.meissner: Update.
gcc/testsuite/
2021-04-21 Michael Meissner <meissner@linux.ibm.com>
* ChangeLog.meissner: Update.
Diff:
---
gcc/ChangeLog.meissner | 13 ++++++-------
gcc/testsuite/ChangeLog.meissner | 6 +++---
2 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index 2f3d5c458b6..21ee40692c3 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,5 +1,5 @@
work049.patch019:
-2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+2021-04-21 Michael Meissner <meissner@linux.ibm.com>
* config/rs6000/altivec.md (UNSPEC_XXBLEND): Move to vsx.md.
(VM3): Move to vsx.md.
@@ -13,7 +13,7 @@ work049.patch019:
to vecperm.
work049.patch018:
-2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+2021-04-21 Michael Meissner <meissner@linux.ibm.com>
* config/rs6000/altivec.md (UNSPEC_XXEVAL): Move to vsx.md.
(xxeval): Move to vsx.md.
@@ -22,7 +22,7 @@ work049.patch018:
to vsx_register_operand. Change insn type to vecperm.
work049.patch017:
-2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+2021-04-21 Michael Meissner <meissner@linux.ibm.com>
* config/rs6000/altivec.md (UNSPEC_XXPERMX): Move to vsx.md.
(xxpermx): Move to vsx.md.
@@ -36,7 +36,7 @@ work049.patch017:
"wa" to match the instruction. Change insn type to vecperm.
work049.patch016:
-2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+2021-04-21 Michael Meissner <meissner@linux.ibm.com>
* config/rs6000/altivec.me (UNSPEC_XXSPLTI32DX): Move to vsx.md.
(xxsplti32dx_v4si): Move to vsx.md.
@@ -83,7 +83,7 @@ work049.patch016:
(xxsplti32dx_v4sf_inst): Move here from altivec.md.
work049.patch014:
-2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+2021-04-21 Michael Meissner <meissner@linux.ibm.com>
* config/rs6000/altivec.md (UNSPEC_XXSPLTID): Move to vsx.md and
rename to UNSPEC_XXSPLTID.
@@ -122,7 +122,7 @@ work049.patch014:
use the new constant format.
work049.patch012:
-2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+2021-04-21 Michael Meissner <meissner@linux.ibm.com>
* config/rs6000/altivec.md (UNSPEC_XXSPLTIW): Delete.
(xxspltiw_v4si): Move to vsx.md and rewrite.
@@ -215,4 +215,3 @@ work049.patch001:
2021-04-20 Michael Meissner <meissner@linux.ibm.com>
Clone branch
-
diff --git a/gcc/testsuite/ChangeLog.meissner b/gcc/testsuite/ChangeLog.meissner
index d16967a8fc0..608a8cd6515 100644
--- a/gcc/testsuite/ChangeLog.meissner
+++ b/gcc/testsuite/ChangeLog.meissner
@@ -1,5 +1,5 @@
work049.patch016:
-2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+2021-04-21 Michael Meissner <meissner@linux.ibm.com>
* gcc.target/powerpc/vec-splati-runnable.c: Update insn count.
* gcc.target/powerpc/vec-splat-constant-sf.c: Update insn count.
@@ -8,14 +8,14 @@ work049.patch016:
count.
work049.patch015:
-2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+2021-04-21 Michael Meissner <meissner@linux.ibm.com>
* gcc.target/powerpc/vec-splat-constant-sf.c: New test.
* gcc.target/powerpc/vec-splat-constant-df.c: New test.
* gcc.target/powerpc/vec-splat-constant-v2df.c: New test.
work049.patch013:
-2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+2021-04-21 Michael Meissner <meissner@linux.ibm.com>
* gcc.target/powerpc/vec-splati-runnable.c: Set optimization level
to -O2. Add missing abort call. Update insn counts.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [gcc(refs/users/meissner/heads/work049)] Update ChangeLog.meissner.
@ 2021-04-20 23:20 Michael Meissner
0 siblings, 0 replies; 5+ messages in thread
From: Michael Meissner @ 2021-04-20 23:20 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:46e48c8fb5f7e2f84eeab4ea4ba03789afe3db41
commit 46e48c8fb5f7e2f84eeab4ea4ba03789afe3db41
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Tue Apr 20 19:19:39 2021 -0400
Update ChangeLog.meissner.
gcc/
2021-04-20 Michael Meissner <meissner@linux.ibm.com>
* ChangeLog.meissner: Update.
gcc/testsuite/
2021-04-20 Michael Meissner <meissner@linux.ibm.com>
* ChangeLog.meissner: Update.
libgcc/
2021-04-20 Michael Meissner <meissner@linux.ibm.com>
* ChangeLog.meissner: Update.
gcc/fortran/
2021-04-20 Michael Meissner <meissner@linux.ibm.com>
* ChangeLog.meissner: Update.
Diff:
---
gcc/ChangeLog.meissner | 214 +++++++++++++++++++++++++++++++++++++++
gcc/fortran/ChangeLog.meissner | 9 ++
gcc/testsuite/ChangeLog.meissner | 64 ++++++++++++
libgcc/ChangeLog.meissner | 13 +++
4 files changed, 300 insertions(+)
diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index 7cf58b4abe3..2f3d5c458b6 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,3 +1,217 @@
+work049.patch019:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * config/rs6000/altivec.md (UNSPEC_XXBLEND): Move to vsx.md.
+ (VM3): Move to vsx.md.
+ (VM3_char): Move to vsx.md.
+ (xxblend_<mode>): Move to vsx.md.
+ * config/rs6000/vsx.md (UNSPEC_XXEVAL): Move from altivec.md.
+ (VM3): Move from altivec.md.
+ (VM3_char): Move from altivec.md.
+ (xxblend_<mode>): Move from altivec.md. Use vsx_register_operand
+ instead of register operand. Change the insn type from vecsimple
+ to vecperm.
+
+work049.patch018:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * config/rs6000/altivec.md (UNSPEC_XXEVAL): Move to vsx.md.
+ (xxeval): Move to vsx.md.
+ * config/rs6000/vsx.md (UNSPEC_XXEVAL): Move from altivec.md.
+ (xxeval): Move from altivec.md. Change altivec_register_operand
+ to vsx_register_operand. Change insn type to vecperm.
+
+work049.patch017:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * config/rs6000/altivec.md (UNSPEC_XXPERMX): Move to vsx.md.
+ (xxpermx): Move to vsx.md.
+ (xxpermx_inst): Move to vsx.md.
+ * config/rs6000/vsx.md (UNSPEC_XXPERMX): Move from altivec.md.
+ (xxpermx): Move from altivec.md. Use vsx_register_operand
+ instead of register_operand. Remove setting the insn attribute
+ "type" on the expander.
+ (xxpermx_inst): Move from altivec.md. Use vsx_register_operand
+ instead of register_operand. Change the constraint from "v" to
+ "wa" to match the instruction. Change insn type to vecperm.
+
+work049.patch016:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * config/rs6000/altivec.me (UNSPEC_XXSPLTI32DX): Move to vsx.md.
+ (xxsplti32dx_v4si): Move to vsx.md.
+ (xxsplti32dx_v4si_inst): Move to vsx.md.
+ (xxsplti32dx_v4sf): Move to vsx.md.
+ (xxsplti32dx_v4sf_inst): Move to vsx.md.
+ * config/rs6000/contraints.md (eD): New constraint.
+ * config/rs6000/predicates.md (easy_fp_constant): If we can load
+ the constant with a pair of XXSPLTI32DX instructions, it is easy.
+ (xxsplti32dx_operand): New predicate.
+ (easy_vector_constant): If we can load the constant with a pair of
+ XXSPLTI32DX instructions, it is easy.
+ * config/rs6000/rs6000-cpus.def (OTHER_POWER10_MASKS): Add
+ -mxxsplti32dx.
+ (POWERPC_MASKS): Add -mxxsplti32dx.
+ * config/rs6000/rs6000-protos.h (xxsplti32dx_constant_p): New
+ declaration.
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
+ -mxxsplti32dx support.
+ (xxsplti32dx_constant_p): New helper function.
+ (output_vec_const_move): Split constants that need XXSPLTI32DX.
+ (rs6000_opt_masks): Add -mxxsplti32dx.
+ * config/rs6000/rs6000.md (movsf_hardfloat): Add support for
+ loading constants with XXSPLTI32DX.
+ (mov<mode>_hardfloat32, FMOVE64 iterator): Add support for loading
+ constants with XXSPLTI32DX.
+ (mov<mode>_hardfloat64, FMOVE64 iterator): Add support for loading
+ constants with XXSPLTI32DX.
+ * config/rs6000/rs6000.opt (-mxxsplti32dx): New switch.
+ * config/rs6000/vsx.md (UNSPEC_XXSPLTI32DX): Move unspec here from
+ altivec.md.
+ (UNSPEC_XXSPLTI32DX_CONST): New unspec.
+ (vsx_mov<mode>_64bit): Bump up size of 'W' vector constants to
+ accomidate a pair of XXSPLTI32DX instructions.
+ (vsx_mov<mode>_32bit): Bump up size of 'W' vector constants to
+ accomidate a pair of XXSPLTI32DX instructions.
+ (XXSPLTI32DX): New mode iterator.
+ (xxsplti32dx_<mode>): New insn and splits.
+ (xxsplti32dx_<mode>_first): New insns.
+ (xxsplti32dx_<mode>_second): New insns.
+ (xxsplti32dx_v4si): Move here from altivec.md.
+ (xxsplti32dx_v4si_inst): Move here from altivec.md.
+ (xxsplti32dx_v4sf): Move here from altivec.md.
+ (xxsplti32dx_v4sf_inst): Move here from altivec.md.
+
+work049.patch014:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * config/rs6000/altivec.md (UNSPEC_XXSPLTID): Move to vsx.md and
+ rename to UNSPEC_XXSPLTID.
+ (xxspltidp_v2df): Move to vsx.md and re-implement.
+ (xxspltidp_v2df_inst): Move to vsx.md and re-implement.
+ * config/rs6000/constraints.md (eF): New constraint.
+ * config/rs6000/predicates.md (easy_fp_constant): If we can load
+ the scalar constant with XXSPLTIDP, return true.
+ (xxspltidp_operand): New predicate.
+ (easy_vector_constant): If we can generate XXSPLTIDP, mark the
+ vector constant as easy.
+ * config/rs6000/rs6000-cpus.def (OTHER_POWER10_MASKS): Add
+ -mxxspltidp support.
+ (POWERPC_MASKS): Add -mxxspltidp support.
+ * config/rs6000/rs6000-protos.h (xxspltidp_constant_p): New
+ declaration.
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
+ -mxxspltidp support.
+ (xxspltidp_constant_p): New function.
+ (output_vec_const_move): Add support for XXSPLTIDP.
+ (rs6000_opt_masks): Add -mxxspltidp support.
+ (rs6000_emit_xxspltidp_v2df): Change function to implement the
+ XXSPLTIDP instruction.
+ * config/rs6000/rs6000.md (movsf_hardfloat): Add XXSPLTIDP
+ support.
+ (mov<mode>_hardfloat32, FMOVE64 iterator): Add XXSPLTIDP support.
+ (mov<mode>_hardfloat64, FMOVE64 iterator): Add XXSPLTIDP support.
+ * config/rs6000/rs6000.opt (-mxxspltidp): New switch.
+ * config/rs6000/vsx.md (UNSPEC_XXSPLTIDP): Move here from
+ altivec.md. Rename it to UNSPEC_XXSPLTIDP to match the
+ instruction.
+ (XXSPLTIDP): New mode iterator.
+ (xxspltidp_<mode>_internal1): New define_insn_and_split.
+ (xxspltidp_<mode>_internal2): New define_insn.
+ (xxspltidp_v2df): Move to vsx.md from altivec.md. Re-implement to
+ use the new constant format.
+
+work049.patch012:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * config/rs6000/altivec.md (UNSPEC_XXSPLTIW): Delete.
+ (xxspltiw_v4si): Move to vsx.md and rewrite.
+ (xxspltiw_v4sf): Move to vsx.md and rewrite.
+ (xxspltiw_v4sf_inst): Delete.
+ * config/rs6000/predicates.md (xxspltiw_operand): New predicate.
+ (easy_vector_constant): If we can use XXSPLTIW, the vector
+ constant is easy.
+ * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER): Add
+ -mxxspltiw support.
+ (POWERPC_MASKS): Add -mxxspltiw support.
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
+ -mxxspltiw support.
+ (xxspltib_constant_p): If we can generate XXSPLTIW, don't generate
+ a XXSPLTIB and an extend instruction.
+ (output_vec_const_move): Add support for XXSPLTIW vector
+ constants.
+ (rs6000_opt_masks): Add -mxxspltiw.
+ * config/rs6000/rs6000.opt (-mxxspltiw): New debug switch.
+ * config/rs6000/vsx.md (xxspltiw_v8hi): New insn.
+ (xxspltiw_v4si): Move from altivec.md and reimplement to use
+ VEC_DUPLICATE.
+ (xxspltiw_v4sf): Move from altivec.md and reimplement to use
+ VEC_DUPLICATE.
+ (XXSPLTIW): New mode iterator.
+ (XXSPLTIW splitter): New insn splitter for XXSPLTIW.
+
+work049.patch011:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * config.gcc (powerpc*-*-*, rs6000-*-*): Do not set
+ LINK_OS_EXTRA_SPEC664 for the Advance Toolchain. Continue to set
+ LINK_OS_EXTRA_SPEC32.
+
+work049.patch009:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * config/rs6000/rs6000-protos.h (rs6000_const_f32_to_i32): Change
+ return type to long.
+ * config/rs6000/rs6000.c (rs6000_const_f32_to_i32): Change return
+ type to long.
+
+work049.patch007:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * config/rs6000/rs6000-builtin.def (BU_IBM128_2): Rename
+ RS6000_BTM_IBM128 from RS6000_BTM_FLOAT128.
+ * config/rs6000/rs6000-call.c (rs6000_invalid_builtin): Update
+ error message for __ibm128 built-in functions.
+ (rs6000_init_builtins): Create the __ibm128 keyword on older
+ systems where long double uses the IBM extended double format,
+ even if they don't support IEEE 128-bit floating point.
+ * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Rename
+ RS6000_BTM_IBM128 from RS6000_BTM_FLOAT128.
+ (rs6000_builtin_mask_names): Rename RS6000_BTM_IBM128 from
+ RS6000_BTM_FLOAT128.
+ * config/rs6000/rs6000.h (TARGET_IBM128): New macro.
+ (RS6000_BTM_IBM128): Rename from RS6000_BTM_FLOAT128.
+ (RS6000_BTM_COMMON): Rename RS6000_BTM_IBM128 from
+ RS6000_BTM_FLOAT128.
+
+work049.patch006:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): If long
+ double is IEEE-128 map the nanq built-in functions to the long
+ double function, not the f128 function.
+
+work049.patch002:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_maybe_emit_fp_cmove): Add IEEE
+ 128-bit floating point conditional move support.
+ (have_compare_and_set_mask): Add IEEE 128-bit floating point
+ types.
+ * config/rs6000/rs6000.md (mov<mode>cc, IEEE128 iterator): New insn.
+ (mov<mode>cc_p10, IEEE128 iterator): New insn.
+ (mov<mode>cc_invert_p10, IEEE128 iterator): New insn.
+ (fpmask<mode>, IEEE128 iterator): New insn.
+ (xxsel<mode>, IEEE128 iterator): New insn.
+
+work049.patch001:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_minmax): Add support for ISA
+ 3.1 IEEE 128-bit floating point xsmaxcqp and xsmincqp instructions.
+ * config/rs6000/rs6000.md (s<minmax><mode>3, IEEE128 iterator):
+ New insns.
+
2021-04-20 Michael Meissner <meissner@linux.ibm.com>
Clone branch
diff --git a/gcc/fortran/ChangeLog.meissner b/gcc/fortran/ChangeLog.meissner
index 7cf58b4abe3..52a03e37654 100644
--- a/gcc/fortran/ChangeLog.meissner
+++ b/gcc/fortran/ChangeLog.meissner
@@ -1,3 +1,12 @@
+work049.patch020:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ PR gfortran/96983
+ * trans-intrinsic.c (build_round_expr): If int type is larger than
+ long long, do the round and convert to the integer type. Do not
+ try to find a floating point type the exact size of the integer
+ type.
+
2021-04-20 Michael Meissner <meissner@linux.ibm.com>
Clone branch
diff --git a/gcc/testsuite/ChangeLog.meissner b/gcc/testsuite/ChangeLog.meissner
index 7cf58b4abe3..d16967a8fc0 100644
--- a/gcc/testsuite/ChangeLog.meissner
+++ b/gcc/testsuite/ChangeLog.meissner
@@ -1,3 +1,67 @@
+work049.patch016:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * gcc.target/powerpc/vec-splati-runnable.c: Update insn count.
+ * gcc.target/powerpc/vec-splat-constant-sf.c: Update insn count.
+ * gcc.target/powerpc/vec-splat-constant-df.c: Update insn count.
+ * gcc.target/powerpc/vec-splat-constant-v2df.c: Update insn
+ count.
+
+work049.patch015:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * gcc.target/powerpc/vec-splat-constant-sf.c: New test.
+ * gcc.target/powerpc/vec-splat-constant-df.c: New test.
+ * gcc.target/powerpc/vec-splat-constant-v2df.c: New test.
+
+work049.patch013:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * gcc.target/powerpc/vec-splati-runnable.c: Set optimization level
+ to -O2. Add missing abort call. Update insn counts.
+ * gcc.target/powerpc/vec-splat-constant-v4sf.c: New test.
+ * gcc.target/powerpc/vec-splat-constant-v4si.c: New test.
+ * gcc.target/powerpc/vec-splat-constant-v8hi.c: New test.
+
+work049.patch005:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * c-c++-common/dfp/convert-bfp-11.c: Force using IBM 128-bit long
+ double. Remove check for 64-bit long double.
+
+work049.patch004:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ PR target/70117
+ * gcc.target/powerpc/pr70117.c: Force the long double type to use
+ the IBM 128-bit format.
+
+work049.patch003:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * lib/target-supports.exp
+ (add_options_for_ppc_long_double_override_ibm128): New function.
+ (check_effective_target_ppc_long_double_override_ibm128): New
+ function.
+ (add_options_for_ppc_long_double_override_ieee128): New function.
+ (check_effective_target_ppc_long_double_override_ieee128): New
+ function.
+ (add_options_for_ppc_long_double_override_64bit): New function.
+ (check_effective_target_ppc_long_double_override_64bit): New
+ function.
+
+work049.patch002:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * gcc.target/powerpc/float128-cmove.c: New test.
+ * gcc.target/powerpc/float128-minmax-3.c: New test.
+
+work049.patch001:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * gcc.target/powerpc/float128-minmax-2.c: New test.
+
+
2021-04-20 Michael Meissner <meissner@linux.ibm.com>
Clone branch
diff --git a/libgcc/ChangeLog.meissner b/libgcc/ChangeLog.meissner
index 7cf58b4abe3..debfe30ac9e 100644
--- a/libgcc/ChangeLog.meissner
+++ b/libgcc/ChangeLog.meissner
@@ -1,3 +1,16 @@
+work049.patch010:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ PR target/98952
+ * config/rs6000/tramp.S (__trampoline_setup): Fix trampoline size
+ comparison in 32-bit.
+
+work049.patch008:
+2021-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ * config/rs6000/ibm-ldouble.c (pack_ldouble): Use
+ __builtin_pack_ibm128 instead of __builtin_pack_longdouble.
+
2021-04-20 Michael Meissner <meissner@linux.ibm.com>
Clone branch
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-04-22 3:29 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-21 23:10 [gcc(refs/users/meissner/heads/work049)] Update ChangeLog.meissner Michael Meissner
-- strict thread matches above, loose matches on Subject: below --
2021-04-22 3:29 Michael Meissner
2021-04-22 1:36 Michael Meissner
2021-04-21 17:07 Michael Meissner
2021-04-20 23:20 Michael Meissner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).