GCC with patches for OS216
Revisión | c91e43e9363bd119a695d64505f96539fa451bf2 (tree) |
---|---|
Tiempo | 2020-06-25 09:17:02 |
Autor | GCC Administrator <gccadmin@gcc....> |
Commiter | GCC Administrator |
Daily bump.
@@ -1,3 +1,183 @@ | ||
1 | +2020-06-24 Peter Bergner <bergner@linux.ibm.com> | |
2 | + | |
3 | + Backported from master: | |
4 | + 2020-06-21 Peter Bergner <bergner@linux.ibm.com> | |
5 | + | |
6 | + * config/rs6000/predicates.md (mma_assemble_input_operand): New. | |
7 | + * config/rs6000/rs6000-builtin.def (BU_MMA_1, BU_MMA_V2, BU_MMA_3, | |
8 | + BU_MMA_5, BU_MMA_6, BU_VSX_1): Add support macros for defining MMA | |
9 | + built-in functions. | |
10 | + (ASSEMBLE_ACC, ASSEMBLE_PAIR, DISASSEMBLE_ACC, DISASSEMBLE_PAIR, | |
11 | + PMXVBF16GER2, PMXVBF16GER2NN, PMXVBF16GER2NP, PMXVBF16GER2PN, | |
12 | + PMXVBF16GER2PP, PMXVF16GER2, PMXVF16GER2NN, PMXVF16GER2NP, | |
13 | + PMXVF16GER2PN, PMXVF16GER2PP, PMXVF32GER, PMXVF32GERNN, | |
14 | + PMXVF32GERNP, PMXVF32GERPN, PMXVF32GERPP, PMXVF64GER, PMXVF64GERNN, | |
15 | + PMXVF64GERNP, PMXVF64GERPN, PMXVF64GERPP, PMXVI16GER2, PMXVI16GER2PP, | |
16 | + PMXVI16GER2S, PMXVI16GER2SPP, PMXVI4GER8, PMXVI4GER8PP, PMXVI8GER4, | |
17 | + PMXVI8GER4PP, PMXVI8GER4SPP, XVBF16GER2, XVBF16GER2NN, XVBF16GER2NP, | |
18 | + XVBF16GER2PN, XVBF16GER2PP, XVCVBF16SP, XVCVSPBF16, XVF16GER2, | |
19 | + XVF16GER2NN, XVF16GER2NP, XVF16GER2PN, XVF16GER2PP, XVF32GER, | |
20 | + XVF32GERNN, XVF32GERNP, XVF32GERPN, XVF32GERPP, XVF64GER, XVF64GERNN, | |
21 | + XVF64GERNP, XVF64GERPN, XVF64GERPP, XVI16GER2, XVI16GER2PP, XVI16GER2S, | |
22 | + XVI16GER2SPP, XVI4GER8, XVI4GER8PP, XVI8GER4, XVI8GER4PP, XVI8GER4SPP, | |
23 | + XXMFACC, XXMTACC, XXSETACCZ): Add MMA built-ins. | |
24 | + * config/rs6000/rs6000.c (rs6000_emit_move): Use CONST_INT_P. | |
25 | + Allow zero constants. | |
26 | + (print_operand) <case 'A'>: New output modifier. | |
27 | + (rs6000_split_multireg_move): Add support for inserting accumulator | |
28 | + priming and depriming instructions. Add support for splitting an | |
29 | + assemble accumulator pattern. | |
30 | + * config/rs6000/rs6000-call.c (mma_init_builtins, mma_expand_builtin, | |
31 | + rs6000_gimple_fold_mma_builtin): New functions. | |
32 | + (RS6000_BUILTIN_M): New macro. | |
33 | + (def_builtin): Handle RS6000_BTC_QUAD and RS6000_BTC_PAIR attributes. | |
34 | + (bdesc_mma): Add new MMA built-in support. | |
35 | + (htm_expand_builtin): Use RS6000_BTC_OPND_MASK. | |
36 | + (rs6000_invalid_builtin): Add handling of RS6000_BTM_FUTURE and | |
37 | + RS6000_BTM_MMA. | |
38 | + (rs6000_builtin_valid_without_lhs): Handle RS6000_BTC_VOID attribute. | |
39 | + (rs6000_gimple_fold_builtin): Call rs6000_builtin_is_supported_p | |
40 | + and rs6000_gimple_fold_mma_builtin. | |
41 | + (rs6000_expand_builtin): Call mma_expand_builtin. | |
42 | + Use RS6000_BTC_OPND_MASK. | |
43 | + (rs6000_init_builtins): Adjust comment. Call mma_init_builtins. | |
44 | + (htm_init_builtins): Use RS6000_BTC_OPND_MASK. | |
45 | + (builtin_function_type): Handle VSX_BUILTIN_XVCVSPBF16 and | |
46 | + VSX_BUILTIN_XVCVBF16SP. | |
47 | + * config/rs6000/rs6000.h (RS6000_BTC_QUINARY, RS6000_BTC_SENARY, | |
48 | + RS6000_BTC_OPND_MASK, RS6000_BTC_QUAD, RS6000_BTC_PAIR, | |
49 | + RS6000_BTC_QUADPAIR, RS6000_BTC_GIMPLE): New defines. | |
50 | + (RS6000_BTC_PREDICATE, RS6000_BTC_ABS, RS6000_BTC_DST, | |
51 | + RS6000_BTC_TYPE_MASK, RS6000_BTC_ATTR_MASK): Adjust values. | |
52 | + * config/rs6000/mma.md (MAX_MMA_OPERANDS): New define_constant. | |
53 | + (UNSPEC_MMA_ASSEMBLE_ACC, UNSPEC_MMA_PMXVBF16GER2, | |
54 | + UNSPEC_MMA_PMXVBF16GER2NN, UNSPEC_MMA_PMXVBF16GER2NP, | |
55 | + UNSPEC_MMA_PMXVBF16GER2PN, UNSPEC_MMA_PMXVBF16GER2PP, | |
56 | + UNSPEC_MMA_PMXVF16GER2, UNSPEC_MMA_PMXVF16GER2NN, | |
57 | + UNSPEC_MMA_PMXVF16GER2NP, UNSPEC_MMA_PMXVF16GER2PN, | |
58 | + UNSPEC_MMA_PMXVF16GER2PP, UNSPEC_MMA_PMXVF32GER, | |
59 | + UNSPEC_MMA_PMXVF32GERNN, UNSPEC_MMA_PMXVF32GERNP, | |
60 | + UNSPEC_MMA_PMXVF32GERPN, UNSPEC_MMA_PMXVF32GERPP, | |
61 | + UNSPEC_MMA_PMXVF64GER, UNSPEC_MMA_PMXVF64GERNN, | |
62 | + UNSPEC_MMA_PMXVF64GERNP, UNSPEC_MMA_PMXVF64GERPN, | |
63 | + UNSPEC_MMA_PMXVF64GERPP, UNSPEC_MMA_PMXVI16GER2, | |
64 | + UNSPEC_MMA_PMXVI16GER2PP, UNSPEC_MMA_PMXVI16GER2S, | |
65 | + UNSPEC_MMA_PMXVI16GER2SPP, UNSPEC_MMA_PMXVI4GER8, | |
66 | + UNSPEC_MMA_PMXVI4GER8PP, UNSPEC_MMA_PMXVI8GER4, | |
67 | + UNSPEC_MMA_PMXVI8GER4PP, UNSPEC_MMA_PMXVI8GER4SPP, | |
68 | + UNSPEC_MMA_XVBF16GER2, UNSPEC_MMA_XVBF16GER2NN, | |
69 | + UNSPEC_MMA_XVBF16GER2NP, UNSPEC_MMA_XVBF16GER2PN, | |
70 | + UNSPEC_MMA_XVBF16GER2PP, UNSPEC_MMA_XVF16GER2, UNSPEC_MMA_XVF16GER2NN, | |
71 | + UNSPEC_MMA_XVF16GER2NP, UNSPEC_MMA_XVF16GER2PN, UNSPEC_MMA_XVF16GER2PP, | |
72 | + UNSPEC_MMA_XVF32GER, UNSPEC_MMA_XVF32GERNN, UNSPEC_MMA_XVF32GERNP, | |
73 | + UNSPEC_MMA_XVF32GERPN, UNSPEC_MMA_XVF32GERPP, UNSPEC_MMA_XVF64GER, | |
74 | + UNSPEC_MMA_XVF64GERNN, UNSPEC_MMA_XVF64GERNP, UNSPEC_MMA_XVF64GERPN, | |
75 | + UNSPEC_MMA_XVF64GERPP, UNSPEC_MMA_XVI16GER2, UNSPEC_MMA_XVI16GER2PP, | |
76 | + UNSPEC_MMA_XVI16GER2S, UNSPEC_MMA_XVI16GER2SPP, UNSPEC_MMA_XVI4GER8, | |
77 | + UNSPEC_MMA_XVI4GER8PP, UNSPEC_MMA_XVI8GER4, UNSPEC_MMA_XVI8GER4PP, | |
78 | + UNSPEC_MMA_XVI8GER4SPP, UNSPEC_MMA_XXMFACC, UNSPEC_MMA_XXMTACC): New. | |
79 | + (MMA_ACC, MMA_VV, MMA_AVV, MMA_PV, MMA_APV, MMA_VVI4I4I8, | |
80 | + MMA_AVVI4I4I8, MMA_VVI4I4I2, MMA_AVVI4I4I2, MMA_VVI4I4, | |
81 | + MMA_AVVI4I4, MMA_PVI4I2, MMA_APVI4I2, MMA_VVI4I4I4, | |
82 | + MMA_AVVI4I4I4): New define_int_iterator. | |
83 | + (acc, vv, avv, pv, apv, vvi4i4i8, avvi4i4i8, vvi4i4i2, | |
84 | + avvi4i4i2, vvi4i4, avvi4i4, pvi4i2, apvi4i2, vvi4i4i4, | |
85 | + avvi4i4i4): New define_int_attr. | |
86 | + (*movpxi): Add zero constant alternative. | |
87 | + (mma_assemble_pair, mma_assemble_acc): New define_expand. | |
88 | + (*mma_assemble_acc): New define_insn_and_split. | |
89 | + (mma_<acc>, mma_xxsetaccz, mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>, | |
90 | + mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>, | |
91 | + mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>, | |
92 | + mma_<vvi4i4i4>, mma_<avvi4i4i4>): New define_insn. | |
93 | + * config/rs6000/rs6000.md (define_attr "type"): New type mma. | |
94 | + * config/rs6000/vsx.md (UNSPEC_VSX_XVCVBF16SP): New. | |
95 | + (UNSPEC_VSX_XVCVSPBF16): Likewise. | |
96 | + (XVCVBF16): New define_int_iterator. | |
97 | + (xvcvbf16): New define_int_attr. | |
98 | + (vsx_<xvcvbf16>): New define_insn. | |
99 | + * doc/extend.texi: Document the mma built-ins. | |
100 | + | |
101 | +2020-06-24 Kelvin Nilsen <wschmidt@linux.ibm.com> | |
102 | + | |
103 | + * config/rs6000/predicates.md (u8bit_cint_operand): New predicate. | |
104 | + | |
105 | +2020-06-24 Peter Bergner <bergner@linux.ibm.com> | |
106 | + | |
107 | + Backported from master: | |
108 | + 2020-06-21 Peter Bergner <bergner@linux.ibm.com> | |
109 | + Michael Meissner <meissner@linux.ibm.com> | |
110 | + | |
111 | + * config/rs6000/mma.md: New file. | |
112 | + * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define | |
113 | + __MMA__ for mma. | |
114 | + * config/rs6000/rs6000-call.c (rs6000_init_builtins): Add support | |
115 | + for __vector_pair and __vector_quad types. | |
116 | + * config/rs6000/rs6000-cpus.def (OTHER_FUTURE_MASKS): Add | |
117 | + OPTION_MASK_MMA. | |
118 | + (POWERPC_MASKS): Likewise. | |
119 | + * config/rs6000/rs6000-modes.def (OI, XI): New integer modes. | |
120 | + (POI, PXI): New partial integer modes. | |
121 | + * config/rs6000/rs6000.c (TARGET_INVALID_CONVERSION): Define. | |
122 | + (rs6000_hard_regno_nregs_internal): Use VECTOR_ALIGNMENT_P. | |
123 | + (rs6000_hard_regno_mode_ok_uncached): Likewise. | |
124 | + Add support for POImode being allowed in VSX registers and PXImode | |
125 | + being allowed in FP registers. | |
126 | + (rs6000_modes_tieable_p): Adjust comment. | |
127 | + Add support for POImode and PXImode. | |
128 | + (rs6000_debug_reg_global) <print_tieable_modes>: Add OImode, POImode | |
129 | + XImode, PXImode, V2SImode, V2SFmode and CCFPmode.. | |
130 | + (rs6000_setup_reg_addr_masks): Use VECTOR_ALIGNMENT_P. | |
131 | + Set up appropriate addr_masks for vector pair and vector quad addresses. | |
132 | + (rs6000_init_hard_regno_mode_ok): Add support for vector pair and | |
133 | + vector quad registers. Setup reload handlers for POImode and PXImode. | |
134 | + (rs6000_builtin_mask_calculate): Add support for RS6000_BTM_MMA. | |
135 | + (rs6000_option_override_internal): Error if -mmma is specified | |
136 | + without -mcpu=future. | |
137 | + (rs6000_slow_unaligned_access): Use VECTOR_ALIGNMENT_P. | |
138 | + (quad_address_p): Change size test to less than 16 bytes. | |
139 | + (reg_offset_addressing_ok_p): Add support for ISA 3.1 vector pair | |
140 | + and vector quad instructions. | |
141 | + (avoiding_indexed_address_p): Likewise. | |
142 | + (rs6000_emit_move): Disallow POImode and PXImode moves involving | |
143 | + constants. | |
144 | + (rs6000_preferred_reload_class): Prefer VSX registers for POImode | |
145 | + and FP registers for PXImode. | |
146 | + (rs6000_split_multireg_move): Support splitting POImode and PXImode | |
147 | + move instructions. | |
148 | + (rs6000_mangle_type): Adjust comment. Add support for mangling | |
149 | + __vector_pair and __vector_quad types. | |
150 | + (rs6000_opt_masks): Add entry for mma. | |
151 | + (rs6000_builtin_mask_names): Add RS6000_BTM_MMA and RS6000_BTM_FUTURE. | |
152 | + (rs6000_function_value): Use VECTOR_ALIGNMENT_P. | |
153 | + (address_to_insn_form): Likewise. | |
154 | + (reg_to_non_prefixed): Likewise. | |
155 | + (rs6000_invalid_conversion): New function. | |
156 | + * config/rs6000/rs6000.h (MASK_MMA): Define. | |
157 | + (BIGGEST_ALIGNMENT): Set to 512 if MMA support is enabled. | |
158 | + (VECTOR_ALIGNMENT_P): New helper macro. | |
159 | + (ALTIVEC_VECTOR_MODE): Use VECTOR_ALIGNMENT_P. | |
160 | + (RS6000_BTM_MMA): Define. | |
161 | + (RS6000_BTM_COMMON): Add RS6000_BTM_MMA and RS6000_BTM_FUTURE. | |
162 | + (rs6000_builtin_type_index): Add RS6000_BTI_vector_pair and | |
163 | + RS6000_BTI_vector_quad. | |
164 | + (vector_pair_type_node): New. | |
165 | + (vector_quad_type_node): New. | |
166 | + * config/rs6000/rs6000.md: Include mma.md. | |
167 | + (define_mode_iterator RELOAD): Add POI and PXI. | |
168 | + * config/rs6000/t-rs6000 (MD_INCLUDES): Add mma.md. | |
169 | + * config/rs6000/rs6000.opt (-mmma): New. | |
170 | + * doc/invoke.texi: Document -mmma. | |
171 | + | |
172 | +2020-06-24 Richard Biener <rguenther@suse.de> | |
173 | + | |
174 | + Backported from master: | |
175 | + 2020-06-17 Richard Biener <rguenther@suse.de> | |
176 | + | |
177 | + PR tree-optimization/95717 | |
178 | + * tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): | |
179 | + Move BB SSA updating before exit/latch PHI current def copying. | |
180 | + | |
1 | 181 | 2020-06-23 Richard Biener <rguenther@suse.de> |
2 | 182 | |
3 | 183 | PR middle-end/95493 |
@@ -1 +1 @@ | ||
1 | -20200624 | |
1 | +20200625 |
@@ -1,3 +1,12 @@ | ||
1 | +2020-06-24 Jason Merrill <jason@redhat.com> | |
2 | + | |
3 | + Backported from master: | |
4 | + 2020-06-24 Jason Merrill <jason@redhat.com> | |
5 | + | |
6 | + PR c++/95719 | |
7 | + * call.c (build_over_call): Look up the overrider in base_binfo. | |
8 | + * class.c (lookup_vfn_in_binfo): Look through BINFO_PRIMARY_P. | |
9 | + | |
1 | 10 | 2020-06-22 Jason Merrill <jason@redhat.com> |
2 | 11 | |
3 | 12 | * call.c (joust): Only compare constraints for non-template |
@@ -1,3 +1,31 @@ | ||
1 | +2020-06-24 Peter Bergner <bergner@linux.ibm.com> | |
2 | + | |
3 | + Backported from master: | |
4 | + 2020-06-21 Peter Bergner <bergner@linux.ibm.com> | |
5 | + | |
6 | + * gcc.target/powerpc/mma-builtin-1.c: New test. | |
7 | + * gcc.target/powerpc/mma-builtin-2.c: New test. | |
8 | + * gcc.target/powerpc/mma-builtin-3.c: New test. | |
9 | + * gcc.target/powerpc/mma-builtin-4.c: New test. | |
10 | + * gcc.target/powerpc/mma-builtin-5.c: New test. | |
11 | + * gcc.target/powerpc/mma-builtin-6.c: New test. | |
12 | + | |
13 | +2020-06-24 Jason Merrill <jason@redhat.com> | |
14 | + | |
15 | + Backported from master: | |
16 | + 2020-06-24 Jason Merrill <jason@redhat.com> | |
17 | + | |
18 | + PR c++/95719 | |
19 | + * g++.dg/tree-ssa/final4.C: New test. | |
20 | + | |
21 | +2020-06-24 Richard Biener <rguenther@suse.de> | |
22 | + | |
23 | + Backported from master: | |
24 | + 2020-06-17 Richard Biener <rguenther@suse.de> | |
25 | + | |
26 | + PR tree-optimization/95717 | |
27 | + * g++.dg/torture/pr95717.C: New testcase. | |
28 | + | |
1 | 29 | 2020-06-23 Thomas Koenig <tkoenig@gcc.gnu.org> |
2 | 30 | |
3 | 31 | Backported from master: |
@@ -1,3 +1,32 @@ | ||
1 | +2020-06-24 Jonathan Wakely <jwakely@redhat.com> | |
2 | + | |
3 | + Backported from master: | |
4 | + 2020-06-24 Jonathan Wakely <jwakely@redhat.com> | |
5 | + | |
6 | + * include/std/charconv (__from_chars_binary): Ignore leading zeros. | |
7 | + * testsuite/20_util/from_chars/1.cc: Check "0x1" for all bases, | |
8 | + not just 10 and 16. | |
9 | + * testsuite/20_util/from_chars/3.cc: New test. | |
10 | + | |
11 | +2020-06-24 Jonathan Wakely <jwakely@redhat.com> | |
12 | + | |
13 | + Backported from master: | |
14 | + 2020-06-24 Jonathan Wakely <jwakely@redhat.com> | |
15 | + | |
16 | + * include/bits/stl_algobase.h (__find_if): Add FALLTHRU markers. | |
17 | + * include/std/charconv (__detail::__to_chars): Avoid | |
18 | + -Wsign-compare warning. | |
19 | + | |
20 | +2020-06-24 Jonathan Wakely <jwakely@redhat.com> | |
21 | + | |
22 | + Backported from master: | |
23 | + 2020-06-24 Jonathan Wakely <jwakely@redhat.com> | |
24 | + | |
25 | + PR libstdc++/95851 | |
26 | + * include/std/charconv (__to_chars_i): Check for zero-sized | |
27 | + buffer unconditionally. | |
28 | + * testsuite/20_util/to_chars/95851.cc: New test. | |
29 | + | |
1 | 30 | 2020-06-22 Jason Merrill <jason@redhat.com> |
2 | 31 | |
3 | 32 | * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: |