This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository gcc.
from a54aa75ab30 tree-optimization/115438 - SLP reduction vect vs. bwaves new dfa78681851 aarch64: Add basic svmfloat8_t support to arm_sve.h new 49365994da6 aarch64: specify fpm mode in function instances and groups new 75c3a5c8e6c aarch64: add svcvt* FP8 intrinsics new 538204079b2 aarch64: add SVE2 FP8 multiply accumulate intrinsics new 441f8d637d7 aarch64: add SVE2 FP8DOT2 and FP8DOT4 intrinsics new 7028b1b368a aarch64: Add ISA requirements to some SVE/SME md comments
The 6 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: gcc/config/aarch64/aarch64-option-extensions.def | 12 + gcc/config/aarch64/aarch64-sme.md | 72 ++--- gcc/config/aarch64/aarch64-sve-builtins-base.cc | 77 +++--- .../aarch64/aarch64-sve-builtins-functions.h | 16 +- gcc/config/aarch64/aarch64-sve-builtins-shapes.cc | 208 ++++++++++++++- gcc/config/aarch64/aarch64-sve-builtins-shapes.h | 12 +- gcc/config/aarch64/aarch64-sve-builtins-sve2.cc | 103 +++++-- gcc/config/aarch64/aarch64-sve-builtins-sve2.def | 43 +++ gcc/config/aarch64/aarch64-sve-builtins-sve2.h | 14 + gcc/config/aarch64/aarch64-sve-builtins.cc | 71 ++++- gcc/config/aarch64/aarch64-sve-builtins.def | 11 +- gcc/config/aarch64/aarch64-sve-builtins.h | 28 +- gcc/config/aarch64/aarch64-sve2.md | 283 ++++++++++++++++---- gcc/config/aarch64/aarch64.h | 32 +++ gcc/config/aarch64/iterators.md | 63 +++++ gcc/doc/invoke.texi | 17 ++ .../aarch64/sve/acle/general-c++/mangle_1.C | 2 + .../aarch64/sve/acle/general-c++/mangle_2.C | 2 + .../gcc.target/aarch64/sve/acle/asm/clasta_mf8.c | 52 ++++ .../gcc.target/aarch64/sve/acle/asm/clastb_mf8.c | 52 ++++ .../gcc.target/aarch64/sve/acle/asm/create2_1.c | 15 ++ .../gcc.target/aarch64/sve/acle/asm/create3_1.c | 11 + .../gcc.target/aarch64/sve/acle/asm/create4_1.c | 12 + .../gcc.target/aarch64/sve/acle/asm/dup_lane_mf8.c | 124 +++++++++ .../gcc.target/aarch64/sve/acle/asm/dup_mf8.c | 31 +++ .../aarch64/sve/acle/asm/dup_neonq_mf8.c | 30 +++ .../aarch64/sve/acle/asm/dupq_lane_mf8.c | 48 ++++ .../aarch64/sve/acle/asm/{ext_u8.c => ext_mf8.c} | 42 +-- .../gcc.target/aarch64/sve/acle/asm/get2_mf8.c | 55 ++++ .../gcc.target/aarch64/sve/acle/asm/get3_mf8.c | 108 ++++++++ .../gcc.target/aarch64/sve/acle/asm/get4_mf8.c | 179 +++++++++++++ .../aarch64/sve/acle/asm/get_neonq_mf8.c | 33 +++ .../gcc.target/aarch64/sve/acle/asm/insr_mf8.c | 22 ++ .../sve/acle/asm/{lasta_s16.c => lasta_mf8.c} | 8 +- .../sve/acle/asm/{lastb_s16.c => lastb_mf8.c} | 8 +- .../aarch64/sve/acle/asm/{ld1_s8.c => ld1_mf8.c} | 96 +++---- .../sve/acle/asm/{ld1ro_s8.c => ld1ro_mf8.c} | 72 ++--- .../gcc.target/aarch64/sve/acle/asm/ld1rq_mf8.c | 137 ++++++++++ .../aarch64/sve/acle/asm/{ld2_s8.c => ld2_mf8.c} | 120 ++++----- .../aarch64/sve/acle/asm/{ld3_s8.c => ld3_mf8.c} | 144 +++++----- .../aarch64/sve/acle/asm/{ld4_s8.c => ld4_mf8.c} | 168 ++++++------ .../sve/acle/asm/{ldff1_s8.c => ldff1_mf8.c} | 48 ++-- .../gcc.target/aarch64/sve/acle/asm/ldnf1_mf8.c | 155 +++++++++++ .../sve/acle/asm/{ldnt1_s8.c => ldnt1_mf8.c} | 96 +++---- .../aarch64/sve/acle/asm/{len_s8.c => len_mf8.c} | 6 +- .../aarch64/sve/acle/asm/reinterpret_bf16.c | 17 ++ .../aarch64/sve/acle/asm/reinterpret_f16.c | 17 ++ .../aarch64/sve/acle/asm/reinterpret_f32.c | 17 ++ .../aarch64/sve/acle/asm/reinterpret_f64.c | 17 ++ .../aarch64/sve/acle/asm/reinterpret_mf8.c | 297 +++++++++++++++++++++ .../aarch64/sve/acle/asm/reinterpret_s16.c | 17 ++ .../aarch64/sve/acle/asm/reinterpret_s32.c | 17 ++ .../aarch64/sve/acle/asm/reinterpret_s64.c | 17 ++ .../aarch64/sve/acle/asm/reinterpret_s8.c | 17 ++ .../aarch64/sve/acle/asm/reinterpret_u16.c | 28 ++ .../aarch64/sve/acle/asm/reinterpret_u32.c | 28 ++ .../aarch64/sve/acle/asm/reinterpret_u64.c | 28 ++ .../aarch64/sve/acle/asm/reinterpret_u8.c | 28 ++ .../aarch64/sve/acle/asm/{rev_s8.c => rev_mf8.c} | 12 +- .../aarch64/sve/acle/asm/{sel_s8.c => sel_mf8.c} | 18 +- .../gcc.target/aarch64/sve/acle/asm/set2_mf8.c | 41 +++ .../gcc.target/aarch64/sve/acle/asm/set3_mf8.c | 63 +++++ .../sve/acle/asm/{set4_s16.c => set4_mf8.c} | 48 ++-- .../aarch64/sve/acle/asm/set_neonq_mf8.c | 23 ++ .../sve/acle/asm/{splice_s8.c => splice_mf8.c} | 18 +- .../aarch64/sve/acle/asm/{st1_s8.c => st1_mf8.c} | 96 +++---- .../aarch64/sve/acle/asm/{st2_u8.c => st2_mf8.c} | 120 ++++----- .../aarch64/sve/acle/asm/{st3_s8.c => st3_mf8.c} | 144 +++++----- .../aarch64/sve/acle/asm/{st4_s8.c => st4_mf8.c} | 168 ++++++------ .../sve/acle/asm/{stnt1_s8.c => stnt1_mf8.c} | 96 +++---- .../gcc.target/aarch64/sve/acle/asm/tbl_mf8.c | 30 +++ .../aarch64/sve/acle/asm/test_sve_acle.h | 8 +- .../aarch64/sve/acle/asm/{trn1_s8.c => trn1_mf8.c} | 18 +- .../sve/acle/asm/{trn1q_f64.c => trn1q_mf8.c} | 20 +- .../aarch64/sve/acle/asm/{trn2_s8.c => trn2_mf8.c} | 18 +- .../sve/acle/asm/{trn2q_s16.c => trn2q_mf8.c} | 20 +- .../gcc.target/aarch64/sve/acle/asm/undef2_1.c | 7 + .../gcc.target/aarch64/sve/acle/asm/undef3_1.c | 7 + .../gcc.target/aarch64/sve/acle/asm/undef4_1.c | 7 + .../gcc.target/aarch64/sve/acle/asm/undef_1.c | 7 + .../aarch64/sve/acle/asm/{uzp1_s8.c => uzp1_mf8.c} | 18 +- .../sve/acle/asm/{uzp1q_s16.c => uzp1q_mf8.c} | 18 +- .../aarch64/sve/acle/asm/{uzp2_s8.c => uzp2_mf8.c} | 18 +- .../sve/acle/asm/{uzp2q_s16.c => uzp2q_mf8.c} | 20 +- .../aarch64/sve/acle/asm/{zip1_s8.c => zip1_mf8.c} | 18 +- .../sve/acle/asm/{zip1q_s16.c => zip1q_mf8.c} | 20 +- .../aarch64/sve/acle/asm/{zip2_s8.c => zip2_mf8.c} | 18 +- .../sve/acle/asm/{zip2q_s16.c => zip2q_mf8.c} | 20 +- .../aarch64/sve/acle/general-c/ternary_mfloat8_1.c | 33 +++ .../sve/acle/general-c/ternary_mfloat8_lane_1.c | 84 ++++++ .../ternary_mfloat8_lane_group_selection_1.c | 49 ++++ .../sve/acle/general-c/ternary_mfloat8_opt_n_1.c | 60 +++++ .../sve/acle/general-c/unary_convertxn_narrow_1.c | 60 +++++ .../sve/acle/general-c/unary_convertxn_narrowt_1.c | 38 +++ .../gcc.target/aarch64/sve/pcs/annotate_1.c | 8 + .../gcc.target/aarch64/sve/pcs/annotate_2.c | 8 + .../gcc.target/aarch64/sve/pcs/annotate_3.c | 8 + .../gcc.target/aarch64/sve/pcs/annotate_4.c | 12 + .../gcc.target/aarch64/sve/pcs/annotate_5.c | 12 + .../gcc.target/aarch64/sve/pcs/annotate_6.c | 12 + .../gcc.target/aarch64/sve/pcs/annotate_7.c | 8 + .../sve/pcs/{args_5_be_u8.c => args_5_be_mf8.c} | 14 +- .../sve/pcs/{args_5_le_s8.c => args_5_le_mf8.c} | 14 +- .../sve/pcs/{args_6_be_s8.c => args_6_be_mf8.c} | 30 +-- .../sve/pcs/{args_6_le_s8.c => args_6_le_mf8.c} | 30 +-- .../gcc.target/aarch64/sve/pcs/gnu_vectors_1.c | 12 +- .../gcc.target/aarch64/sve/pcs/gnu_vectors_2.c | 10 +- .../gcc.target/aarch64/sve/pcs/return_4.c | 21 +- .../gcc.target/aarch64/sve/pcs/return_4_1024.c | 21 +- .../gcc.target/aarch64/sve/pcs/return_4_128.c | 21 +- .../gcc.target/aarch64/sve/pcs/return_4_2048.c | 21 +- .../gcc.target/aarch64/sve/pcs/return_4_256.c | 21 +- .../gcc.target/aarch64/sve/pcs/return_4_512.c | 21 +- .../gcc.target/aarch64/sve/pcs/return_5.c | 21 +- .../gcc.target/aarch64/sve/pcs/return_5_1024.c | 21 +- .../gcc.target/aarch64/sve/pcs/return_5_128.c | 21 +- .../gcc.target/aarch64/sve/pcs/return_5_2048.c | 21 +- .../gcc.target/aarch64/sve/pcs/return_5_256.c | 21 +- .../gcc.target/aarch64/sve/pcs/return_5_512.c | 21 +- .../gcc.target/aarch64/sve/pcs/return_6.c | 24 ++ .../gcc.target/aarch64/sve/pcs/return_6_1024.c | 22 ++ .../gcc.target/aarch64/sve/pcs/return_6_128.c | 19 ++ .../gcc.target/aarch64/sve/pcs/return_6_2048.c | 22 ++ .../gcc.target/aarch64/sve/pcs/return_6_256.c | 22 ++ .../gcc.target/aarch64/sve/pcs/return_6_512.c | 22 ++ .../gcc.target/aarch64/sve/pcs/return_7.c | 28 ++ .../gcc.target/aarch64/sve/pcs/return_8.c | 29 ++ .../gcc.target/aarch64/sve/pcs/return_9.c | 33 +++ .../sve/pcs/{varargs_2_s8.c => varargs_2_mf8.c} | 70 +++-- .../gcc.target/aarch64/sve2/acle/asm/cvt_mf8.c | 48 ++++ .../gcc.target/aarch64/sve2/acle/asm/cvtlt_mf8.c | 50 ++++ .../gcc.target/aarch64/sve2/acle/asm/cvtn_mf8.c | 30 +++ .../gcc.target/aarch64/sve2/acle/asm/cvtnb_mf8.c | 20 ++ .../gcc.target/aarch64/sve2/acle/asm/cvtnt_mf8.c | 31 +++ .../aarch64/sve2/acle/asm/dot_lane_mf8.c | 172 ++++++++++++ .../gcc.target/aarch64/sve2/acle/asm/dot_mf8.c | 101 +++++++ .../aarch64/sve2/acle/asm/mlalb_lane_mf8.c | 91 +++++++ .../gcc.target/aarch64/sve2/acle/asm/mlalb_mf8.c | 78 ++++++ .../aarch64/sve2/acle/asm/mlallbb_lane_mf8.c | 91 +++++++ .../gcc.target/aarch64/sve2/acle/asm/mlallbb_mf8.c | 78 ++++++ .../aarch64/sve2/acle/asm/mlallbt_lane_mf8.c | 91 +++++++ .../gcc.target/aarch64/sve2/acle/asm/mlallbt_mf8.c | 78 ++++++ .../aarch64/sve2/acle/asm/mlalltb_lane_mf8.c | 91 +++++++ .../gcc.target/aarch64/sve2/acle/asm/mlalltb_mf8.c | 78 ++++++ .../aarch64/sve2/acle/asm/mlalltt_lane_mf8.c | 91 +++++++ .../gcc.target/aarch64/sve2/acle/asm/mlalltt_mf8.c | 78 ++++++ .../aarch64/sve2/acle/asm/mlalt_lane_mf8.c | 91 +++++++ .../gcc.target/aarch64/sve2/acle/asm/mlalt_mf8.c | 78 ++++++ .../gcc.target/aarch64/sve2/acle/asm/tbl2_mf8.c | 31 +++ .../aarch64/sve2/acle/asm/{tbx_u8.c => tbx_mf8.c} | 20 +- .../gcc.target/aarch64/sve2/acle/asm/whilerw_mf8.c | 50 ++++ .../gcc.target/aarch64/sve2/acle/asm/whilewr_mf8.c | 50 ++++ gcc/testsuite/lib/target-supports.exp | 4 +- 153 files changed, 6124 insertions(+), 1164 deletions(-) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/dup_lane_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/dup_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/dup_neonq_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/dupq_lane_mf8.c copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{ext_u8.c => ext_mf8.c} (53%) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/get2_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/get3_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/get4_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/get_neonq_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/insr_mf8.c copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{lasta_s16.c => lasta_mf8.c} (51%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{lastb_s16.c => lastb_mf8.c} (51%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{ld1_s8.c => ld1_mf8.c} (53%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{ld1ro_s8.c => ld1ro_mf8.c} (53%) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1rq_mf8.c copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{ld2_s8.c => ld2_mf8.c} (56%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{ld3_s8.c => ld3_mf8.c} (55%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{ld4_s8.c => ld4_mf8.c} (55%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{ldff1_s8.c => ldff1_mf8.c} (58%) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_mf8.c copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{ldnt1_s8.c => ldnt1_mf8.c} (52%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{len_s8.c => len_mf8.c} (60%) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/reinterpret_mf8.c copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{rev_s8.c => rev_mf8.c} (53%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{sel_s8.c => sel_mf8.c} (52%) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/set2_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/set3_mf8.c copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{set4_s16.c => set4_mf8.c} (50%) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/set_neonq_mf8.c copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{splice_s8.c => splice_mf8.c} (56%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{st1_s8.c => st1_mf8.c} (52%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{st2_u8.c => st2_mf8.c} (56%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{st3_s8.c => st3_mf8.c} (54%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{st4_s8.c => st4_mf8.c} (55%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{stnt1_s8.c => stnt1_mf8.c} (52%) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tbl_mf8.c copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{trn1_s8.c => trn1_mf8.c} (51%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{trn1q_f64.c => trn1q_mf8.c} (62%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{trn2_s8.c => trn2_mf8.c} (51%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{trn2q_s16.c => trn2q_mf8.c} (62%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{uzp1_s8.c => uzp1_mf8.c} (51%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{uzp1q_s16.c => uzp1q_mf8.c} (62%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{uzp2_s8.c => uzp2_mf8.c} (51%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{uzp2q_s16.c => uzp2q_mf8.c} (62%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{zip1_s8.c => zip1_mf8.c} (51%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{zip1q_s16.c => zip1q_mf8.c} (62%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{zip2_s8.c => zip2_mf8.c} (51%) copy gcc/testsuite/gcc.target/aarch64/sve/acle/asm/{zip2q_s16.c => zip2q_mf8.c} (62%) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/ternary_mfl [...] create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/ternary_mfl [...] create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/ternary_mfl [...] create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/ternary_mfl [...] create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/unary_conve [...] create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/unary_conve [...] copy gcc/testsuite/gcc.target/aarch64/sve/pcs/{args_5_be_u8.c => args_5_be_mf8.c} (85%) copy gcc/testsuite/gcc.target/aarch64/sve/pcs/{args_5_le_s8.c => args_5_le_mf8.c} (84%) copy gcc/testsuite/gcc.target/aarch64/sve/pcs/{args_6_be_s8.c => args_6_be_mf8.c} (74%) copy gcc/testsuite/gcc.target/aarch64/sve/pcs/{args_6_le_s8.c => args_6_le_mf8.c} (74%) copy gcc/testsuite/gcc.target/aarch64/sve/pcs/{varargs_2_s8.c => varargs_2_mf8.c} (60%) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvt_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvtlt_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvtn_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvtnb_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvtnt_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/dot_lane_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/dot_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/mlalb_lane_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/mlalb_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/mlallbb_lane_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/mlallbb_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/mlallbt_lane_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/mlallbt_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/mlalltb_lane_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/mlalltb_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/mlalltt_lane_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/mlalltt_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/mlalt_lane_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/mlalt_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tbl2_mf8.c copy gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/{tbx_u8.c => tbx_mf8.c} (55%) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/whilerw_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/whilewr_mf8.c