[gcc(refs/users/meissner/heads/work137-vsubreg)] Update ChangeLog.vsubreg

Michael Meissner meissner@gcc.gnu.org
Fri Sep 29 06:20:19 GMT 2023


https://gcc.gnu.org/g:08a1f7d4a4c46bb78c5b5d19adbaa8d9a27b3d47

commit 08a1f7d4a4c46bb78c5b5d19adbaa8d9a27b3d47
Author: Michael Meissner <meissner@linux.ibm.com>
Date:   Fri Sep 29 02:20:16 2023 -0400

    Update ChangeLog.vsubreg

Diff:
---
 gcc/ChangeLog.vsubreg | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 109 insertions(+)

diff --git a/gcc/ChangeLog.vsubreg b/gcc/ChangeLog.vsubreg
index 290012e9990..13dd08d5564 100644
--- a/gcc/ChangeLog.vsubreg
+++ b/gcc/ChangeLog.vsubreg
@@ -1,3 +1,112 @@
+==================== Branch work137-vsubreg, patch #402 ====================
+
+Add support for -mvector-size-32.
+
+(vsize137 patches #300 and #301).
+
+2023-09-28  Michael Meissner  <meissner@linux.ibm.com>
+
+gcc/
+
+	* config/rs6000/predicates.md (const_0_to_31_operand): New predicate.
+	* config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
+	__VECTOR_SIZE_32__ if -mvector-size-32 was used.
+	* config/rs6000/rs6000-cpus.def (OTHER_POWER10_MASKS): Add
+	-mvector-size-32.
+	(POWERPC_MASKS): Likewise.
+	* config/rs6000/rs6000-protos.h (vector_pair_to_vector_mode): New
+	declaration.
+	(rs6000_adjust_for_vector_pair): Likewise.
+	(split_unary_vector_pair): Likewise.
+	(split_binary_vector_pair): Likewise.
+	(split_fma_vector_pair): Likewise.
+	* config/rs6000/rs6000.cc (rs6000_hard_regno_mode_ok_uncached): Add
+	support for 32-byte vector types created with -mvector-size-32.
+	(rs6000_modes_tieable_p): Make all 32-byte vectors tie with other
+	32-byte vectors.
+	(rs6000_debug_reg_global): If -mdebug=reg, print whether
+	-mvector-size-32 was enabled.
+	(rs6000_init_hard_regno_mode_ok): Add support for 32-byte vectors.
+	(rs6000_option_override_internal): Add checking for -mvector-size-32.
+	(rs6000_opt_masks): Add -mvector-size-32.
+	(rs6000_expand_vector_extract): Add support for 32-byte vectors.
+	(reg_offset_addressing_ok_p): Likewise.
+	(rs6000_emit_move): Likewise.
+	(rs6000_preferred_reload_class): Likewise.
+	(vector_pair_to_vector_mode): New vector pair helper function.
+	(rs6000_adjust_for_vector_pair): Likewise.
+	(rs6000_split_vpair_constan): Likewise.
+	(split_unary_vector_pair): Likewise.
+	(split_binary_vector_pair): Likewise.
+	(split_fma_vector_pair): Likewise.
+	(rs6000_split_multireg_move): Add support for 32-byte vectors.
+	* config/rs6000/rs6000.h (VECTOR_PAIR_MODE): New macro.
+	* config/rs6000/rs6000.md (wd attribute): Add 32-byte vector modes.
+	(RELOAD): Likewise.
+	(toplevel): Include vector-pair.md.
+	* config/rs6000/rs6000.opt (-mvector-size-32): New option.
+	* config/rs6000/t-rs6000 (MD_INCLUDES): Add vector-pair.md.
+	* config/rs6000/vector-pair.md: New file.
+	* config/rs6000/vector.md (VEC_base): Add 32-byte vector modes.
+	* config/rs6000/vsx.md (VSX_EXTRACT_PREDICATE): Likewise.
+	(VSX_EX): Likewise.
+	(VPAIR_V4DI_V4DF): New mode iterator.
+	(VPAIR_VECTOR): New mode attribute.
+	(vpair_vector): Likewise.
+	(vsx_extract_<mode>, VPAIR_V4DF_V4DI iterator): New extract insn for
+	vector pair support.
+	(vsx_extract_v8sf): Likewise.
+	(vsx_extract_<mode>, VPAIR_SMALL_INT iterator): Likewise.
+
+gcc/testsuite/
+
+	* gcc.target/powerpc/vector-size-32-1.c: New test.
+	* gcc.target/powerpc/vector-size-32-2.c: New test.
+	* gcc.target/powerpc/vector-size-32-3.c: New test.
+	* gcc.target/powerpc/vector-size-32-4.c: New test.
+	* gcc.target/powerpc/vector-size-32-5.c: New test.
+	* gcc.target/powerpc/vector-size-32-6.c: New test.
+
+
+==================== Branch work137-vsubreg, patch #401 ====================
+
+Add support for vector pair built-in functions.
+
+(vpair137 patch #200).
+
+2023-09-29  Michael Meissner  <meissner@linux.ibm.com>
+
+gcc/
+
+	* config/rs6000/predicates.md (mma_assemble_input_operand): Allow other
+	16-byte vectors and not just V16QImode.
+	* config/rs6000/rs6000-builtins.def (__builtin_vpair_*): Add vector pair
+	built-in functions.
+	* config/rs6000/rs6000-protos.h (split_unary_vector_pair): Add
+	declaration.
+	(split_binary_vector_pair): Likewise.
+	(split_fma_vector_pair): Likewise.
+	* config/rs6000/rs6000.cc (split_unary_vector_pair): New helper function
+	for vector pair built-in functions.
+	(split_binary_vector_pair): Likewise.
+	(split_fma_vector_pair): Likewise.
+	* config/rs6000/rs6000.md (toplevel): Include vector-pair.md.
+	* config/rs6000/t-rs6000 (MD_INCLUDES): Add vector-pair.md.
+	* config/rs6000/vector-pair.md: New file.
+	* doc/extend.texi (PowerPC Vector Pair Built-in Functions): Document the
+	vector pair built-in functions.
+
+gcc/testsuite/
+
+	* gcc.target/powerpc/vector-pair-01.c: New test.
+	* gcc.target/powerpc/vector-pair-02.c: New test.
+	* gcc.target/powerpc/vector-pair-03.c: New test.
+	* gcc.target/powerpc/vector-pair-04.c: New test.
+	* gcc.target/powerpc/vector-pair-05.c: New test.
+	* gcc.target/powerpc/vector-pair-06.c: New test.
+	* gcc.target/powerpc/vector-pair-07.c: New test.
+	* gcc.target/powerpc/vector-pair-08.c: New test.
+
 ==================== Branch work137-vsubreg, patch #400 ====================
 
 Peter's patches for subreg support.


More information about the Gcc-cvs mailing list