Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Patch 4 #30

Open
wants to merge 22 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
5d0c1b4
doloop: Add support for predicated vectorized loops
avieira-arm Jun 19, 2024
3dfc28d
arm: Add support for MVE Tail-Predicated Low Overhead Loops
avieira-arm Jun 19, 2024
954f901
Fortran: fix for CHARACTER(len=*) dummies with bind(C) [PR115390]
harald-anlauf Jun 18, 2024
9651d60
libstdc++: Add conditional noexcept to std::pair default ctor
jwakely Jun 18, 2024
5d156a9
libstdc++: Add noexcept to some std::promise shared state internals
jwakely Jun 18, 2024
bcb9dad
libstdc++: Consistently indent <future> with tabs
jwakely Jun 19, 2024
0982552
xtensa: Eliminate double MEMW insertions for volatile memory
jjsuwa-sys3175 Jun 19, 2024
6f6ea27
i386: Zhaoxin shijidadao enablement
MayShao-oc Jun 19, 2024
25860fd
bitint: Fix up lowering of COMPLEX_EXPR [PR115544]
jakubjelinek Jun 19, 2024
e03583e
RISC-V: Promote Zaamo/Zalrsc to a when using an old binutils
patrick-rivos Jun 18, 2024
f0204ae
[PATCH v2] RISC-V: Remove float vector eqne pattern
demin-han Jun 19, 2024
a334189
Revert "Build: Fix typo ac_cv_search_pthread_crate"
wzssyqa Jun 19, 2024
6d6587b
Revert "build: Fix missing variable quotes"
wzssyqa Jun 19, 2024
ebfffb6
Daily bump.
Jun 20, 2024
70466e6
vect: Add a function to check lane-reducing stmt
feng-xue-ampere Jun 15, 2024
a944e57
vect: Remove duplicated check on reduction operand
feng-xue-ampere Jun 16, 2024
0726f1c
vect: Use one reduction_type local variable
feng-xue-ampere Jun 16, 2024
b9c369d
vect: Use an array to replace 3 relevant variables
feng-xue-ampere Jun 16, 2024
ecbc96b
vect: Tighten an assertion for lane-reducing in transform
feng-xue-ampere Jun 16, 2024
bea447a
build: Fix missing variable quotes and typo
collinfunk Jun 19, 2024
492b983
Create afmv_test_2.exp
zijunlii Jun 20, 2024
2ddeca7
Add files via upload
zijunlii Jun 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,35 @@
2024-06-19 YunQiang Su <[email protected]>

Revert:
2024-06-19 Collin Funk <[email protected]>

* configure.ac: Quote variable result of AC_SEARCH_LIBS.
* configure: Regenerate.

2024-06-19 YunQiang Su <[email protected]>

Revert:
2024-06-19 YunQiang Su <[email protected]>

PR bootstrap/115453
* configure.ac: Fix typo ac_cv_search_pthread_crate.
* configure: Regnerate.

2024-06-19 YunQiang Su <[email protected]>

PR bootstrap/115453
* configure.ac: Fix typo ac_cv_search_pthread_crate.
* configure: Regnerate.

2024-06-19 Collin Funk <[email protected]>

* configure.ac: Quote variable result of AC_SEARCH_LIBS.
* configure: Regenerate.

2024-06-19 Ramana Radhakrishnan <[email protected]>

* MAINTAINERS: Update my email address.

2024-06-18 Kyrylo Tkachov <[email protected]>

* MAINTAINERS (aarch64 port): Update my email address.
Expand Down
2 changes: 1 addition & 1 deletion configure
Original file line number Diff line number Diff line change
Expand Up @@ -19746,7 +19746,7 @@ config.status
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

Copyright (C) Free Software Foundation, Inc.
Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."

Expand Down
140 changes: 140 additions & 0 deletions gcc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,143 @@
2024-06-19 YunQiang Su <[email protected]>

Revert:
2024-06-19 Collin Funk <[email protected]>

* configure.ac: Add missing quotation of variable
gcc_cv_as_mips_explicit_relocs.
* configure: Regenerate.

2024-06-19 demin.han <[email protected]>

* config/riscv/riscv-vector-builtins-bases.cc: Remove eqne cond
* config/riscv/vector.md (@pred_eqne<mode>_scalar): Remove patterns
(*pred_eqne<mode>_scalar_merge_tie_mask): Ditto
(*pred_eqne<mode>_scalar): Ditto
(*pred_eqne<mode>_scalar_narrow): Ditto

2024-06-19 Patrick O'Neill <[email protected]>

* common/config/riscv/riscv-common.cc: Add 'a' extension to
riscv_combine_info.

2024-06-19 Jakub Jelinek <[email protected]>

PR tree-optimization/115544
* gimple-lower-bitint.cc (gimple_lower_bitint): Disable optimizing
loads used by COMPLEX_EXPR operands.

2024-06-19 mayshao <[email protected]>

* common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Recognize shijidadao.
* common/config/i386/i386-common.cc: Add shijidadao.
* common/config/i386/i386-cpuinfo.h (enum processor_subtypes):
Add ZHAOXIN_FAM7H_SHIJIDADAO.
* config.gcc: Add shijidadao.
* config/i386/driver-i386.cc (host_detect_local_cpu):
Let -march=native recognize shijidadao processors.
* config/i386/i386-c.cc (ix86_target_macros_internal): Add shijidadao.
* config/i386/i386-options.cc (m_ZHAOXIN): Add m_SHIJIDADAO.
(m_SHIJIDADAO): New definition.
* config/i386/i386.h (enum processor_type): Add PROCESSOR_SHIJIDADAO.
* config/i386/x86-tune-costs.h (struct processor_costs):
Add shijidadao_cost.
* config/i386/x86-tune-sched.cc (ix86_issue_rate): Add shijidadao.
(ix86_adjust_cost): Ditto.
* config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Add m_SHIJIDADAO.
(X86_TUNE_USE_GATHER_4PARTS): Ditto.
(X86_TUNE_USE_GATHER_8PARTS): Ditto.
(X86_TUNE_AVOID_128FMA_CHAINS): Ditto.
* doc/extend.texi: Add details about shijidadao.
* doc/invoke.texi: Ditto.

2024-06-19 Takayuki 'January June' Suwa <[email protected]>

* config/xtensa/xtensa.cc (print_operand):
When outputting MEMW before the instruction, check if the previous
instruction is already that.

2024-06-19 Andre Vieira <[email protected]>
Stam Markianos-Wright <[email protected]>

* config/arm/arm-protos.h (arm_target_bb_ok_for_lob): Change
declaration to pass basic_block.
(arm_attempt_dlstp_transform): New declaration.
* config/arm/arm.cc (TARGET_LOOP_UNROLL_ADJUST): Define targethook.
(TARGET_PREDICT_DOLOOP_P): Likewise.
(arm_target_bb_ok_for_lob): Adapt condition.
(arm_mve_get_vctp_lanes): New function.
(arm_dl_usage_type): New internal enum.
(arm_get_required_vpr_reg): New function.
(arm_get_required_vpr_reg_param): New function.
(arm_get_required_vpr_reg_ret_val): New function.
(arm_mve_get_loop_vctp): New function.
(arm_mve_insn_predicated_by): New function.
(arm_mve_across_lane_insn_p): New function.
(arm_mve_load_store_insn_p): New function.
(arm_mve_impl_pred_on_outputs_p): New function.
(arm_mve_impl_pred_on_inputs_p): New function.
(arm_last_vect_def_insn): New function.
(arm_mve_impl_predicated_p): New function.
(arm_mve_check_reg_origin_is_num_elems): New function.
(arm_mve_dlstp_check_inc_counter): New function.
(arm_mve_dlstp_check_dec_counter): New function.
(arm_mve_loop_valid_for_dlstp): New function.
(arm_predict_doloop_p): New function.
(arm_loop_unroll_adjust): New function.
(arm_emit_mve_unpredicated_insn_to_seq): New function.
(arm_attempt_dlstp_transform): New function.
* config/arm/arm.opt (mdlstp): New option.
* config/arm/iterators.md (dlstp_elemsize, letp_num_lanes,
letp_num_lanes_neg, letp_num_lanes_minus_1): New attributes.
(DLSTP, LETP): New iterators.
* config/arm/mve.md (predicated_doloop_end_internal<letp_num_lanes>,
dlstp<dlstp_elemsize>_insn): New insn patterns.
* config/arm/thumb2.md (doloop_end): Adapt to support tail-predicated
loops.
(doloop_begin): Likewise.
* config/arm/types.md (mve_misc): New mve type to represent
predicated_loop_end insn sequences.
* config/arm/unspecs.md:
(DLSTP8, DLSTP16, DLSTP32, DSLTP64,
LETP8, LETP16, LETP32, LETP64): New unspecs for DLSTP and LETP.

2024-06-19 Andre Vieira <[email protected]>
Stam Markianos-Wright <[email protected]>

* df-core.cc (df_bb_regno_only_def_find): New helper function.
* df.h (df_bb_regno_only_def_find): Declare new function.
* loop-doloop.cc (doloop_condition_get): Add support for detecting
predicated vectorized hardware loops.
(doloop_modify): Add support for GTU condition checks.
(doloop_optimize): Update costing computation to support alterations to
desc->niter_expr by the backend.

2024-06-19 Collin Funk <[email protected]>

* configure.ac: Add missing quotation of variable
gcc_cv_as_mips_explicit_relocs.
* configure: Regenerate.

2024-06-19 Takayuki 'January June' Suwa <[email protected]>

* config/xtensa/xtensa-protos.h (xtensa_constantsynth):
Change the second argument from HOST_WIDE_INT to rtx.
* config/xtensa/xtensa.cc (#include):
Add "context.h" and "pass_manager.h".
(machine_function): Add a new hash_map field "litpool_usage".
(xtensa_constantsynth): Make "src" (the second operand) accept
RTX literal instead of its value, and treat both bare and pooled
SI/SFmode literals equally by bit-exact canonicalization into
CONST_INT RTX internally. And then, make avoid synthesis if
such multiple identical canonicalized literals are found in same
function when optimizing for size. Finally, for literals where
synthesis is not possible or has been avoided, re-emit "move"
RTXes with canonicalized ones to increase the chances of sharing
literal pool entries.
* config/xtensa/xtensa.md (split patterns for constant synthesis):
Change to simply invoke xtensa_constantsynth() as mentioned above,
and add new patterns for when TARGET_AUTO_LITPOOLS is enabled.

2024-06-18 Edwin Lu <[email protected]>
Robin Dapp <[email protected]>

Expand Down
2 changes: 1 addition & 1 deletion gcc/DATESTAMP
Original file line number Diff line number Diff line change
@@ -1 +1 @@
20240619
20240620
8 changes: 7 additions & 1 deletion gcc/common/config/i386/cpuinfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -667,12 +667,18 @@ get_zhaoxin_cpu (struct __processor_model *cpu_model,
reset_cpu_feature (cpu_model, cpu_features2, FEATURE_F16C);
cpu_model->__cpu_subtype = ZHAOXIN_FAM7H_LUJIAZUI;
}
else if (model >= 0x5b)
else if (model == 0x5b)
{
cpu = "yongfeng";
CHECK___builtin_cpu_is ("yongfeng");
cpu_model->__cpu_subtype = ZHAOXIN_FAM7H_YONGFENG;
}
else if (model >= 0x6b)
{
cpu = "shijidadao";
CHECK___builtin_cpu_is ("shijidadao");
cpu_model->__cpu_subtype = ZHAOXIN_FAM7H_SHIJIDADAO;
}
break;
default:
break;
Expand Down
8 changes: 6 additions & 2 deletions gcc/common/config/i386/i386-common.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2066,6 +2066,7 @@ const char *const processor_names[] =
"intel",
"lujiazui",
"yongfeng",
"shijidadao",
"geode",
"k6",
"athlon",
Expand Down Expand Up @@ -2271,10 +2272,13 @@ const pta processor_alias_table[] =
| PTA_SSSE3 | PTA_SSE4_1 | PTA_FXSR, 0, P_NONE},
{"lujiazui", PROCESSOR_LUJIAZUI, CPU_LUJIAZUI,
PTA_LUJIAZUI,
M_CPU_SUBTYPE (ZHAOXIN_FAM7H_LUJIAZUI), P_NONE},
M_CPU_SUBTYPE (ZHAOXIN_FAM7H_LUJIAZUI), P_PROC_BMI},
{"yongfeng", PROCESSOR_YONGFENG, CPU_YONGFENG,
PTA_YONGFENG,
M_CPU_SUBTYPE (ZHAOXIN_FAM7H_YONGFENG), P_NONE},
M_CPU_SUBTYPE (ZHAOXIN_FAM7H_YONGFENG), P_PROC_AVX2},
{"shijidadao", PROCESSOR_SHIJIDADAO, CPU_YONGFENG,
PTA_YONGFENG,
M_CPU_SUBTYPE (ZHAOXIN_FAM7H_SHIJIDADAO), P_PROC_AVX2},
{"k8", PROCESSOR_K8, CPU_K8,
PTA_64BIT | PTA_MMX | PTA_3DNOW | PTA_3DNOW_A | PTA_SSE
| PTA_SSE2 | PTA_NO_SAHF | PTA_FXSR, 0, P_NONE},
Expand Down
1 change: 1 addition & 0 deletions gcc/common/config/i386/i386-cpuinfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ enum processor_subtypes
INTEL_COREI7_PANTHERLAKE,
ZHAOXIN_FAM7H_YONGFENG,
AMDFAM1AH_ZNVER5,
ZHAOXIN_FAM7H_SHIJIDADAO,
CPU_SUBTYPE_MAX
};

Expand Down
1 change: 1 addition & 0 deletions gcc/common/config/riscv/riscv-common.cc
Original file line number Diff line number Diff line change
Expand Up @@ -401,6 +401,7 @@ static const struct riscv_ext_version riscv_ext_version_table[] =
/* Combine extensions defined in this table */
static const struct riscv_ext_version riscv_combine_info[] =
{
{"a", ISA_SPEC_CLASS_20191213, 2, 1},
{"zk", ISA_SPEC_CLASS_NONE, 1, 0},
{"zkn", ISA_SPEC_CLASS_NONE, 1, 0},
{"zks", ISA_SPEC_CLASS_NONE, 1, 0},
Expand Down
14 changes: 11 additions & 3 deletions gcc/config.gcc
Original file line number Diff line number Diff line change
Expand Up @@ -711,9 +711,9 @@ atom slm nehalem westmere sandybridge ivybridge haswell broadwell bonnell \
silvermont skylake-avx512 cannonlake icelake-client icelake-server \
skylake goldmont goldmont-plus tremont cascadelake tigerlake cooperlake \
sapphirerapids alderlake rocketlake eden-x2 nano nano-1000 nano-2000 nano-3000 \
nano-x2 eden-x4 nano-x4 lujiazui yongfeng x86-64 x86-64-v2 x86-64-v3 x86-64-v4 \
sierraforest graniterapids graniterapids-d grandridge arrowlake arrowlake-s \
clearwaterforest pantherlake native"
nano-x2 eden-x4 nano-x4 lujiazui yongfeng shijidadao x86-64 x86-64-v2 \
x86-64-v3 x86-64-v4 sierraforest graniterapids graniterapids-d grandridge \
arrowlake arrowlake-s clearwaterforest pantherlake native"

# Additional x86 processors supported by --with-cpu=. Each processor
# MUST be separated by exactly one space.
Expand Down Expand Up @@ -3855,6 +3855,10 @@ case ${target} in
arch=yongfeng
cpu=yongfeng
;;
shijidadao-*)
arch=shijidadao
cpu=shijidadao
;;
pentium2-*)
arch=pentium2
cpu=pentium2
Expand Down Expand Up @@ -3980,6 +3984,10 @@ case ${target} in
arch=yongfeng
cpu=yongfeng
;;
shijidadao-*)
arch=shijidadao
cpu=shijidadao
;;
nocona-*)
arch=nocona
cpu=nocona
Expand Down
4 changes: 2 additions & 2 deletions gcc/config/arm/arm-protos.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ extern void arm_emit_speculation_barrier_function (void);
extern void arm_decompose_di_binop (rtx, rtx, rtx *, rtx *, rtx *, rtx *);
extern bool arm_q_bit_access (void);
extern bool arm_ge_bits_access (void);
extern bool arm_target_insn_ok_for_lob (rtx);

extern bool arm_target_bb_ok_for_lob (basic_block);
extern int arm_attempt_dlstp_transform (rtx);
#ifdef RTX_CODE
enum reg_class
arm_mode_base_reg_class (machine_mode);
Expand Down
Loading