Skip to content

Commit c3824ad

Browse files
author
GCC Administrator
committed
Daily bump.
1 parent 3735bbb commit c3824ad

File tree

4 files changed

+423
-1
lines changed

4 files changed

+423
-1
lines changed

gcc/ChangeLog

Lines changed: 240 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,243 @@
1+
2025-12-24 Pan Li <[email protected]>
2+
3+
* config/riscv/predicates.md: Add geu to the swappable
4+
cmp operator iterator.
5+
* config/riscv/riscv-v.cc (get_swapped_cmp_rtx_code): Take
6+
care of the swapped rtx code correspondly.
7+
8+
2025-12-24 Claudio Bantaloukas <[email protected]>
9+
10+
* config/aarch64/aarch64-sve-builtins-base.cc: (svmul_impl::fold):
11+
Replace use of type_suffix_pair with type_suffix_triple.
12+
* config/aarch64/aarch64-sve-builtins-shapes.cc: (parse_element_type):
13+
Handle third type suffix.
14+
(parse_type): Handle c2 in function signature. Add the u signature with
15+
the ability to pass a tuple with twice as many vectors as the base type.
16+
Calculate number of vectors against the type with the maximum number of
17+
bits rather than "the other one".
18+
(load_contiguous_base::resolve): Add argument to resolve_to call.
19+
(compare_scalar_def::resolve): Likewise.
20+
(ternary_mfloat8_def::resolve): Likewise.
21+
(ternary_mfloat8_lane_def::resolve): Likewise.
22+
(ternary_mfloat8_opt_n_def::resolve): Likewise.
23+
* config/aarch64/aarch64-sve-builtins.cc: (TYPES_all_pred,
24+
TYPES_all_count, TYPES_all_pred_count, TYPES_all_float,
25+
TYPES_all_signed, TYPES_all_float_and_signed, TYPES_all_unsigned,
26+
TYPES_all_integer, TYPES_all_arith, TYPES_all_data, TYPES_b, TYPES_c,
27+
TYPES_b_unsigned, TYPES_b_integer, TYPES_b_data, TYPES_bh_integer,
28+
TYPES_bs_unsigned, TYPES_bhs_signed, TYPES_bhs_unsigned,
29+
TYPES_bhs_integer, TYPES_bh_data, TYPES_bhs_data, TYPES_bhs_widen,
30+
TYPES_h_bfloat, TYPES_h_float, TYPES_h_integer, TYPES_h_data,
31+
TYPES_hs_signed, TYPES_hs_integer, TYPES_hs_float, TYPES_hs_data,
32+
TYPES_hd_unsigned, TYPES_hsd_signed, TYPES_hsd_integer, TYPES_hsd_data,
33+
TYPES_h_float_mf8, TYPES_s_float, TYPES_s_float_mf8,
34+
TYPES_s_float_hsd_integer, TYPES_s_float_sd_integer, TYPES_s_signed,
35+
TYPES_s_unsigned, TYPES_s_integer, TYPES_s_data, TYPES_sd_signed,
36+
TYPES_sd_unsigned, TYPES_sd_integer, TYPES_sd_data,
37+
TYPES_all_float_and_sd_integer, TYPES_d_float, TYPES_d_unsigned,
38+
TYPES_d_integer, TYPES_d_data, TYPES_cvt, TYPES_cvt_bfloat,
39+
TYPES_cvt_h_s_float, TYPES_cvt_f32_f16, TYPES_cvt_long,
40+
TYPES_cvt_narrow_s, TYPES_cvt_narrow, TYPES_cvt_s_s, TYPES_cvt_mf8,
41+
TYPES_cvtn_mf8, TYPES_cvtnx_mf8, TYPES_inc_dec_n, TYPES_qcvt_x2,
42+
TYPES_qcvt_x4, TYPES_qrshr_x2,TYPES_qrshru_x2, TYPES_qrshr_x4,
43+
TYPES_qrshru_x4, TYPES_reinterpret, TYPES_reinterpret_b,TYPES_while,
44+
TYPES_while_x, TYPES_while_x_c, TYPES_s_narrow_fsu,TYPES_all_za,
45+
TYPES_d_za, TYPES_za_bhsd_data,TYPES_za_all_data, TYPES_za_h_mf8,
46+
TYPES_za_hs_mf8, TYPES_za_h_bfloat, TYPES_za_h_float,
47+
TYPES_za_s_b_signed, TYPES_za_s_b_unsigned, TYPES_za_s_b_integer,
48+
TYPES_za_s_h_integer,TYPES_za_s_h_data, TYPES_za_s_unsigned,
49+
TYPES_za_s_integer, TYPES_za_s_mf8, TYPES_za_s_float, TYPES_za_s_data,
50+
TYPES_za_d_h_integer, TYPES_za_d_float, TYPES_za_d_integer,
51+
TYPES_mop_base, TYPES_mop_base_signed, TYPES_mop_base_unsigned,
52+
TYPES_mop_i16i64, TYPES_mop_i16i64_signed, TYPES_mop_i16i64_unsigned,
53+
ΤYPES_za): Extend defines to three arguments.
54+
(DEF_VECTOR_TYPE, DEF_DOUBLE_TYPE): Likewise.
55+
(DEF_TRIPLE_TYPE): Add new define.
56+
(DEF_SVE_TYPES_ARRAY): Redefine all types_ arrays into arrays of
57+
type_suffix_triple.
58+
(types_none): Likewise.
59+
(function_instance::hash): Add third type to hash calculation.
60+
(function_builder::get_name): Add third type to function name.
61+
(function_builder::add_overloaded_functions): Handle third type.
62+
(function_resolver::lookup_form): Likewise.
63+
(function_resolver::resolve_to): Likewise.
64+
(function_resolver::resolve_unary): Likewise.
65+
* config/aarch64/aarch64-sve-builtins.h: (type_suffix_triple): replace
66+
type_suffix_pair.
67+
(function_group_info::types): Likewise.
68+
(function_instance::ctor): Likewise.
69+
(function_instance::type_suffix_ids): Likewise.
70+
(function_resolver::lookup_form): Add third type argument.
71+
(function_resolver::resolve_to): Likewise.
72+
(function_instance::operator==): Add third type to equality calculation.
73+
74+
2025-12-24 Karl Meakin <[email protected]>
75+
76+
* config/aarch64/aarch64-sme.md
77+
(@aarch64_sme_<optab><SME_ZA_F8F16_32:mode><SME_ZA_FP8_x24:mode>): New insn.
78+
(@aarch64_fvdot_half<optab>): Likewise.
79+
(@aarch64_fvdot_half<optab>_plus): Likewise.
80+
* config/aarch64/aarch64-sve-builtins-functions.h
81+
(class svvdot_half_impl): New function impl.
82+
* config/aarch64/aarch64-sve-builtins-sme.cc (FUNCTION): Likewise.
83+
* config/aarch64/aarch64-sve-builtins-shapes.cc (struct dot_half_za_slice_lane_def):
84+
New function shape.
85+
* config/aarch64/aarch64-sve-builtins-shapes.h: Likewise.
86+
* config/aarch64/aarch64-sve-builtins-sme.def (svdot): New function.
87+
(svdot_lane): Likewise.
88+
(svvdot_lane): Likewise.
89+
(svvdotb_lane): Likewise.
90+
(svvdott_lane): Likewise.
91+
* config/aarch64/aarch64-sve-builtins-sme.h (svvdotb_lane_za): New function.
92+
(svvdott_lane_za): Likewise.
93+
* config/aarch64/aarch64-sve-builtins.cc (TYPES_za_s_mf8): New types array.
94+
(TYPES_za_hs_mf8): Likewise.
95+
(za_hs_mf8): Likewise.
96+
* config/aarch64/iterators.md (SME_ZA_F8F16): New mode iterator.
97+
(SME_ZA_F8F32): Likewise.
98+
(SME_ZA_FP8_x1): Likewise.
99+
(SME_ZA_FP8_x2): Likewise.
100+
(SME_ZA_FP8_x4): Likewise.
101+
(UNSPEC_SME_FDOT_FP8): New unspec.
102+
(UNSPEC_SME_FVDOT_FP8): Likewise.
103+
(UNSPEC_SME_FVDOTT_FP8): Likewise.
104+
(UNSPEC_SME_FVDOTB_FP8): Likewise.
105+
(SME_FP8_DOTPROD): New int iterator.
106+
(SME_FP8_FVDOT): Likewise.
107+
(SME_FP8_FVDOT_HALF): Likewise.
108+
109+
2025-12-24 Claudio Bantaloukas <[email protected]>
110+
111+
* config/aarch64/aarch64-sme.md
112+
(@aarch64_sme_<optab><SME_ZA_F8F16_32:mode><VNx16QI_ONLY:mode>): Add
113+
new define_insn.
114+
* config/aarch64/aarch64-sve-builtins-shapes.cc
115+
(struct binary_za_m_base): Support fpm argument.
116+
* config/aarch64/aarch64-sve-builtins-sme.cc (svmopa_za): Extend for
117+
fp8.
118+
* config/aarch64/aarch64-sve-builtins-sme.def (svmopa): Add new
119+
DEF_SME_ZA_FUNCTION_GS_FPM entries.
120+
121+
2025-12-24 Claudio Bantaloukas <[email protected]>
122+
123+
* config/aarch64/aarch64-sme.md
124+
(@aarch64_sme_<optab><SME_ZA_F8F16_32:mode><SME_ZA_FP8_x24:mode>): Add
125+
new define_insn.
126+
(*aarch64_sme_<optab><VNx8HI_ONLY:mode><SME_ZA_FP8_x24:mode>_plus,
127+
*aarch64_sme_<optab><VNx4SI_ONLY:mode><SME_ZA_FP8_x24:mode>_plus,
128+
@aarch64_sme_<optab><SME_ZA_F8F16_32:mode><VNx16QI_ONLY:mode>,
129+
*aarch64_sme_<optab><VNx8HI_ONLY:mode><VNx16QI_ONLY:mode>_plus,
130+
*aarch64_sme_<optab><VNx4SI_ONLY:mode><VNx16QI_ONLY:mode>_plus,
131+
@aarch64_sme_single_<optab><SME_ZA_F8F16_32:mode><SME_ZA_FP8_x24:mode>,
132+
*aarch64_sme_single_<optab><VNx8HI_ONLY:mode><SME_ZA_FP8_x24:mode>_plus,
133+
*aarch64_sme_single_<optab><VNx4SI_ONLY:mode><SME_ZA_FP8_x24:mode>_plus,
134+
@aarch64_sme_lane_<optab><SME_ZA_F8F16_32:mode><SME_ZA_FP8_x124:mode>,
135+
*aarch64_sme_lane_<optab><VNx8HI_ONLY:mode><SME_ZA_FP8_x124:mode>,
136+
*aarch64_sme_lane_<optab><VNx4SI_ONLY:mode><SME_ZA_FP8_x124:mode>):
137+
Likewise.
138+
* config/aarch64/aarch64-sve-builtins-shapes.cc
139+
(struct binary_za_slice_lane_base): Support fpm argument.
140+
(struct binary_za_slice_opt_single_base): Likewise.
141+
* config/aarch64/aarch64-sve-builtins-sme.cc (svmla_za): Extend for fp8.
142+
(svmla_lane_za): Likewise.
143+
* config/aarch64/aarch64-sve-builtins-sme.def (svmla_lane): Add new
144+
DEF_SME_ZA_FUNCTION_GS_FPM entries.
145+
(svmla): Likewise.
146+
* config/aarch64/iterators.md (SME_ZA_F8F16_32): Add new mode iterator.
147+
(SME_ZA_FP8_x24, SME_ZA_FP8_x124): Likewise.
148+
(UNSPEC_SME_FMLAL): Add new unspec.
149+
(za16_offset_range): Add new mode_attr.
150+
(za16_32_long): Likewise.
151+
(za16_32_last_offset): Likewise.
152+
(SME_FP8_TERNARY_SLICE): Add new iterator.
153+
(optab): Add entry for UNSPEC_SME_FMLAL.
154+
155+
2025-12-24 Claudio Bantaloukas <[email protected]>
156+
157+
* config/aarch64/aarch64.h:
158+
(TARGET_STREAMING_SME_F8F16, TARGET_STREAMING_SME_F8F32): Add defines.
159+
* config/aarch64/aarch64-c.cc:
160+
(__ARM_FEATURE_SME_F8F16, __ARM_FEATURE_SME_F8F32): Add defines.
161+
* config/aarch64/aarch64-option-extensions.def:
162+
(sme-f8f16, sme-f8f32): Add arch options in command line.
163+
* config/aarch64/aarch64-sve-builtins-functions.h:
164+
(sme_2mode_function_t): Pass unspec_for_mfp8 parameter through ctor.
165+
* config/aarch64/aarch64-sve-builtins-sme.def:
166+
(DEF_SME_FUNCTION_GS, DEF_SME_FUNCTION): Redefine based on
167+
DEF_SME_FUNCTION_GS_FPM.
168+
(DEF_SME_ZA_FUNCTION_GS, DEF_SME_ZA_FUNCTION): Redefine based on
169+
DEF_SME_ZA_FUNCTION_GS_FPM.
170+
(AARCH64_FL_SME_F8F16, AARCH64_FL_SME_F8F32): Add new
171+
REQUIRED_EXTENSIONS sections.
172+
* config/aarch64/aarch64-sve-builtins.cc:
173+
(TYPES_za_h_mf8): Add new types.
174+
(TYPES_za_s_mf8): Likewise.
175+
(sme_function_groups): Define using DEF_SME_FUNCTION_GS_FPM instead of
176+
DEF_SME_FUNCTION_GS.
177+
* doc/invoke.texi: (sme-f8f16, sme-f8f32): Add documentation of option.
178+
179+
2025-12-24 Claudio Bantaloukas <[email protected]>
180+
181+
* config/aarch64/aarch64-sve-builtins-base.cc (svscale_impl): Added new
182+
class for dealing with all svscale functions (including sve)
183+
(svscale): updated FUNCTION macro call to make use of new class.
184+
* config/aarch64/aarch64-sve-builtins-sve2.def: (svscale):
185+
Added new DEF_SVE_FUNCTION_GS call to enable recognition of new variant.
186+
* config/aarch64/aarch64-sve2.md (@aarch64_sve_fscale<mode>): Added
187+
new define_insn. (@aarch64_sve_single_fscale<mode>): Likewise.
188+
* config/aarch64/iterators.md: (SVE_Fx24_NOBF): Added new iterator,
189+
similar to SVE_Fx24 but without brainfloat.
190+
(SVE_Fx24): Updated to make use of SVE_Fx24_NOBF.
191+
(SVSCALE_SINGLE_INTARG): Added new mode_attr.
192+
(SVSCALE_INTARG): Likewise.
193+
194+
2025-12-24 Claudio Bantaloukas <[email protected]>
195+
196+
* config/aarch64/aarch64-sve-builtins-base.cc (svcvt_impl): Update to
197+
handle fp8 cases.
198+
* config/aarch64/aarch64-sve-builtins-sve2.def (svcvt, svcvtn): Added
199+
DEF_SVE_FUNCTION_GS_FPM instances.
200+
* config/aarch64/aarch64-sve2.md
201+
(@aarch64_sve2_fp8_cvtn<mode>): Updated define_insn for additional case.
202+
(@aarch64_sme2_fp8_cvt<mode>): Added new define_insn.
203+
* config/aarch64/iterators.md (VNx16F_NARROW): Added new iterator to
204+
handle narrowing SVE floating point operations.
205+
(UNSPEC_FCVT): Added new unspec.
206+
207+
2025-12-24 Claudio Bantaloukas <[email protected]>
208+
209+
* config/aarch64/aarch64-sve-builtins-sve2.cc (svcvtl1, svcvtl2): Added
210+
new FUNTIONs.
211+
* config/aarch64/aarch64-sve-builtins-sve2.def
212+
(svcvt1, svcvt2, svcvtl1, svcvtl2): Added new DEF_SVE_FUNCTION_GS_FPM.
213+
* config/aarch64/aarch64-sve-builtins-sve2.h (svcvtl1, svcvtl2): Added
214+
new function_base.
215+
* config/aarch64/aarch64-sve-builtins.cc
216+
(function_resolver::resolve_unary): use group_suffix_id when resolving
217+
C overloads.
218+
* config/aarch64/aarch64-sve2.md
219+
(@aarch64_sve2_fp8_cvt_<fp8_cvt_uns_op><mode>): Added new define_insn.
220+
* config/aarch64/aarch64.h (TARGET_SSME2_FP8): Added new define.
221+
* config/aarch64/iterators.md
222+
(UNSPEC_F1CVTL. UNSPEC_F2CVTL): Added new unspecs.
223+
(FP8CVT_UNS): Extended int_iterator.
224+
(fp8_cvt_uns_op): Likewise.
225+
226+
2025-12-24 Claudio Bantaloukas <[email protected]>
227+
228+
* config/aarch64/aarch64-sve-builtins.cc (TYPES_za_bhsd_data): Add
229+
D (za8, mf8) combination to za_bhsd_data.
230+
231+
2025-12-24 Andrew Pinski <[email protected]>
232+
233+
* ifcvt.cc (noce_process_if_block): Move noce_try_cond_zero_arith
234+
last.
235+
236+
2025-12-24 Andrew Pinski <[email protected]>
237+
238+
PR rtl-optimization/123276
239+
* ifcvt.cc (noce_try_cond_zero_arith): Reject non-scalar integral modes.
240+
1241
2025-12-23 Jeff Law <[email protected]>
2242

3243
PR target/123274

gcc/DATESTAMP

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20251224
1+
20251225

0 commit comments

Comments
 (0)