This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository gcc.
from a549a9a39a9 Adjust the wording for x86 _Float16 type. new f19a327077e Support -fexcess-precision=16 which will enable FLT_EVAL_ME [...] new a68412117fa AVX512FP16: Initial support for AVX512FP16 feature and scal [...] new 9e2a82e1f9d AVX512FP16: Support vector init/broadcast/set/extract for FP16. new 2f3318dbcfd AVX512FP16: Add testcase for vector init and broadcast intrinsics. new 5bbd88bb1ee AVX512FP16: Add tests for vector passing in variable arguments. new 22ce16ffa43 AVX512FP16: Add ABI tests for xmm. new 07308cdb0c8 AVX512FP16: Add ABI test for ymm. new 4a61bcaca07 AVX512FP16: Add abi test for zmm
The 8 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/ada/gcc-interface/misc.c | 3 + gcc/c-family/c-common.c | 6 +- gcc/c-family/c-cppbuiltin.c | 6 +- gcc/common.opt | 5 +- gcc/common/config/i386/cpuinfo.h | 2 + gcc/common/config/i386/i386-common.c | 26 +- gcc/common/config/i386/i386-cpuinfo.h | 1 + gcc/common/config/i386/i386-isas.h | 1 + gcc/config.gcc | 2 +- gcc/config/aarch64/aarch64.c | 1 + gcc/config/arm/arm.c | 1 + gcc/config/i386/avx512fp16intrin.h | 225 +++++ gcc/config/i386/cpuid.h | 1 + gcc/config/i386/i386-builtin-types.def | 7 +- gcc/config/i386/i386-builtins.c | 23 + gcc/config/i386/i386-c.c | 2 + gcc/config/i386/i386-expand.c | 129 ++- gcc/config/i386/i386-isa.def | 1 + gcc/config/i386/i386-modes.def | 12 +- gcc/config/i386/i386-options.c | 4 +- gcc/config/i386/i386.c | 183 +++- gcc/config/i386/i386.h | 26 +- gcc/config/i386/i386.md | 183 +++- gcc/config/i386/i386.opt | 4 + gcc/config/i386/immintrin.h | 4 + gcc/config/i386/sse.md | 404 ++++++-- gcc/config/m68k/m68k.c | 3 + gcc/config/s390/s390.c | 3 + gcc/coretypes.h | 3 +- gcc/doc/extend.texi | 11 +- gcc/doc/invoke.texi | 10 +- gcc/doc/tm.texi | 14 +- gcc/doc/tm.texi.in | 3 + gcc/flag-types.h | 3 +- gcc/fortran/options.c | 3 + gcc/target.def | 11 +- gcc/testsuite/g++.dg/other/i386-2.C | 2 +- gcc/testsuite/g++.dg/other/i386-3.C | 2 +- gcc/testsuite/g++.target/i386/float16-1.C | 8 + gcc/testsuite/g++.target/i386/float16-2.C | 14 + gcc/testsuite/g++.target/i386/float16-3.C | 10 + gcc/testsuite/gcc.target/i386/avx-1.c | 2 +- gcc/testsuite/gcc.target/i386/avx-2.c | 2 +- gcc/testsuite/gcc.target/i386/avx512-check.h | 3 + gcc/testsuite/gcc.target/i386/avx512fp16-10a.c | 14 + gcc/testsuite/gcc.target/i386/avx512fp16-10b.c | 25 + gcc/testsuite/gcc.target/i386/avx512fp16-12a.c | 21 + gcc/testsuite/gcc.target/i386/avx512fp16-12b.c | 27 + gcc/testsuite/gcc.target/i386/avx512fp16-1a.c | 24 + gcc/testsuite/gcc.target/i386/avx512fp16-1b.c | 32 + gcc/testsuite/gcc.target/i386/avx512fp16-1c.c | 26 + gcc/testsuite/gcc.target/i386/avx512fp16-1d.c | 33 + gcc/testsuite/gcc.target/i386/avx512fp16-1e.c | 30 + gcc/testsuite/gcc.target/i386/avx512fp16-2a.c | 28 + gcc/testsuite/gcc.target/i386/avx512fp16-2b.c | 33 + gcc/testsuite/gcc.target/i386/avx512fp16-2c.c | 36 + gcc/testsuite/gcc.target/i386/avx512fp16-3a.c | 36 + gcc/testsuite/gcc.target/i386/avx512fp16-3b.c | 35 + gcc/testsuite/gcc.target/i386/avx512fp16-3c.c | 40 + gcc/testsuite/gcc.target/i386/avx512fp16-4.c | 31 + gcc/testsuite/gcc.target/i386/avx512fp16-5.c | 133 +++ gcc/testsuite/gcc.target/i386/avx512fp16-6.c | 57 ++ gcc/testsuite/gcc.target/i386/avx512fp16-7.c | 86 ++ gcc/testsuite/gcc.target/i386/avx512fp16-8.c | 53 + gcc/testsuite/gcc.target/i386/avx512fp16-9a.c | 27 + gcc/testsuite/gcc.target/i386/avx512fp16-9b.c | 49 + .../gcc.target/i386/avx512fp16-vararg-1.c | 122 +++ .../i386/{vararg-6.c => avx512fp16-vararg-2.c} | 84 +- .../gcc.target/i386/avx512fp16-vararg-3.c | 114 +++ .../i386/{vararg-6.c => avx512fp16-vararg-4.c} | 64 +- .../gcc.target/i386/avx512fp16-vec_set_var.c | 30 + gcc/testsuite/gcc.target/i386/float16-3a.c | 10 + gcc/testsuite/gcc.target/i386/float16-3b.c | 10 + gcc/testsuite/gcc.target/i386/float16-4a.c | 10 + gcc/testsuite/gcc.target/i386/float16-4b.c | 10 + gcc/testsuite/gcc.target/i386/float16-6.c | 8 + gcc/testsuite/gcc.target/i386/float16-7.c | 9 + gcc/testsuite/gcc.target/i386/funcspec-56.inc | 2 + gcc/testsuite/gcc.target/i386/m512-check.h | 38 +- gcc/testsuite/gcc.target/i386/pr54855-12.c | 14 + gcc/testsuite/gcc.target/i386/pr54855-13.c | 14 + gcc/testsuite/gcc.target/i386/sse-13.c | 2 +- gcc/testsuite/gcc.target/i386/sse-14.c | 2 +- gcc/testsuite/gcc.target/i386/sse-22.c | 4 +- gcc/testsuite/gcc.target/i386/sse-23.c | 2 +- .../abi-avx512fp16-xmm.exp} | 24 +- .../gcc.target/x86_64/abi/{ => avx512fp16}/args.h | 4 + .../x86_64/abi/{ => avx512fp16}/asm-support.S | 39 +- .../x86_64/abi/avx512fp16/avx512fp16-check.h | 74 ++ .../x86_64/abi/avx512fp16/avx512fp16-xmm-check.h | 3 + .../x86_64/abi/{ => avx512fp16}/defines.h | 4 +- .../m256h/abi-avx512fp16-ymm.exp} | 21 +- .../x86_64/abi/{avx => avx512fp16/m256h}/args.h | 2 + .../abi/{avx => avx512fp16/m256h}/asm-support.S | 0 .../abi/avx512fp16/m256h/avx512fp16-ymm-check.h | 3 + .../abi/avx512fp16/m256h/test_m256_returning.c | 54 + .../abi/avx512fp16/m256h/test_passing_m256.c | 370 +++++++ .../abi/avx512fp16/m256h/test_passing_structs.c | 113 +++ .../abi/avx512fp16/m256h/test_passing_unions.c | 337 +++++++ .../{avx => avx512fp16/m256h}/test_varargs-m256.c | 62 +- .../m512h/abi-avx512fp16-zmm.exp} | 24 +- .../abi/{avx512f => avx512fp16/m512h}/args.h | 2 + .../{avx512f => avx512fp16/m512h}/asm-support.S | 0 .../abi/avx512fp16/m512h/avx512fp16-zmm-check.h | 4 + .../abi/avx512fp16/m512h/test_m512_returning.c | 62 ++ .../abi/avx512fp16/m512h/test_passing_m512.c | 380 +++++++ .../abi/avx512fp16/m512h/test_passing_structs.c | 123 +++ .../abi/avx512fp16/m512h/test_passing_unions.c | 415 ++++++++ .../m512h}/test_varargs-m512.c | 64 +- .../{i386/iamcu => x86_64/abi/avx512fp16}/macros.h | 0 .../test_3_element_struct_and_unions.c | 169 ++++ .../abi/{ => avx512fp16}/test_basic_alignment.c | 3 + .../test_basic_array_size_and_align.c | 2 + .../abi/{ => avx512fp16}/test_basic_returning.c | 15 +- .../x86_64/abi/{ => avx512fp16}/test_basic_sizes.c | 1 + .../test_basic_struct_size_and_align.c | 8 +- .../test_basic_union_size_and_align.c | 9 +- .../abi/avx512fp16}/test_complex_returning.c | 29 +- .../abi/{ => avx512fp16}/test_m64m128_returning.c | 25 +- .../x86_64/abi/avx512fp16/test_passing_floats.c | 1066 ++++++++++++++++++++ .../x86_64/abi/avx512fp16/test_passing_m64m128.c | 510 ++++++++++ .../abi/{ => avx512fp16}/test_passing_structs.c | 95 +- .../abi/{ => avx512fp16}/test_passing_unions.c | 112 +- .../abi/{ => avx512fp16}/test_struct_returning.c | 62 +- .../abi/{ => avx512fp16}/test_varargs-m128.c | 60 +- gcc/testsuite/lib/target-supports.exp | 13 +- gcc/tree.c | 3 +- 127 files changed, 6757 insertions(+), 403 deletions(-) create mode 100644 gcc/config/i386/avx512fp16intrin.h create mode 100644 gcc/testsuite/g++.target/i386/float16-1.C create mode 100644 gcc/testsuite/g++.target/i386/float16-2.C create mode 100644 gcc/testsuite/g++.target/i386/float16-3.C create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-10a.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-10b.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-12a.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-12b.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-1a.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-1b.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-1c.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-1d.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-1e.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-2a.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-2b.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-2c.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-3a.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-3b.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-3c.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-4.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-5.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-6.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-7.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-8.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-9a.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-9b.c create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-vararg-1.c copy gcc/testsuite/gcc.target/i386/{vararg-6.c => avx512fp16-vararg-2.c} (57%) create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-vararg-3.c copy gcc/testsuite/gcc.target/i386/{vararg-6.c => avx512fp16-vararg-4.c} (58%) create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-vec_set_var.c create mode 100644 gcc/testsuite/gcc.target/i386/float16-3a.c create mode 100644 gcc/testsuite/gcc.target/i386/float16-3b.c create mode 100644 gcc/testsuite/gcc.target/i386/float16-4a.c create mode 100644 gcc/testsuite/gcc.target/i386/float16-4b.c create mode 100644 gcc/testsuite/gcc.target/i386/float16-6.c create mode 100644 gcc/testsuite/gcc.target/i386/float16-7.c create mode 100644 gcc/testsuite/gcc.target/i386/pr54855-12.c create mode 100644 gcc/testsuite/gcc.target/i386/pr54855-13.c copy gcc/testsuite/gcc.target/x86_64/abi/{abi-x86_64.exp => avx512fp16/abi-avx512f [...] copy gcc/testsuite/gcc.target/x86_64/abi/{ => avx512fp16}/args.h (97%) copy gcc/testsuite/gcc.target/x86_64/abi/{ => avx512fp16}/asm-support.S (64%) create mode 100644 gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/avx512fp16-check.h create mode 100644 gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/avx512fp16-xmm-check.h copy gcc/testsuite/gcc.target/x86_64/abi/{ => avx512fp16}/defines.h (97%) copy gcc/testsuite/gcc.target/x86_64/abi/{abi-x86_64.exp => avx512fp16/m256h/abi-a [...] copy gcc/testsuite/gcc.target/x86_64/abi/{avx => avx512fp16/m256h}/args.h (99%) copy gcc/testsuite/gcc.target/x86_64/abi/{avx => avx512fp16/m256h}/asm-support.S (100%) create mode 100644 gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/m256h/avx512fp16 [...] create mode 100644 gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/m256h/test_m256_ [...] create mode 100644 gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/m256h/test_passi [...] create mode 100644 gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/m256h/test_passi [...] create mode 100644 gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/m256h/test_passi [...] copy gcc/testsuite/gcc.target/x86_64/abi/{avx => avx512fp16/m256h}/test_varargs-m2 [...] copy gcc/testsuite/gcc.target/x86_64/abi/{abi-x86_64.exp => avx512fp16/m512h/abi-a [...] copy gcc/testsuite/gcc.target/x86_64/abi/{avx512f => avx512fp16/m512h}/args.h (99%) copy gcc/testsuite/gcc.target/x86_64/abi/{avx512f => avx512fp16/m512h}/asm-support [...] create mode 100644 gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/m512h/avx512fp16 [...] create mode 100644 gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/m512h/test_m512_ [...] create mode 100644 gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/m512h/test_passi [...] create mode 100644 gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/m512h/test_passi [...] create mode 100644 gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/m512h/test_passi [...] copy gcc/testsuite/gcc.target/x86_64/abi/{avx512f => avx512fp16/m512h}/test_vararg [...] copy gcc/testsuite/gcc.target/{i386/iamcu => x86_64/abi/avx512fp16}/macros.h (100%) copy gcc/testsuite/gcc.target/x86_64/abi/{ => avx512fp16}/test_3_element_struct_an [...] copy gcc/testsuite/gcc.target/x86_64/abi/{ => avx512fp16}/test_basic_alignment.c (93%) copy gcc/testsuite/gcc.target/x86_64/abi/{ => avx512fp16}/test_basic_array_size_an [...] copy gcc/testsuite/gcc.target/x86_64/abi/{ => avx512fp16}/test_basic_returning.c (86%) copy gcc/testsuite/gcc.target/x86_64/abi/{ => avx512fp16}/test_basic_sizes.c (96%) copy gcc/testsuite/gcc.target/x86_64/abi/{ => avx512fp16}/test_basic_struct_size_a [...] copy gcc/testsuite/gcc.target/x86_64/abi/{ => avx512fp16}/test_basic_union_size_an [...] copy gcc/testsuite/gcc.target/{i386/iamcu => x86_64/abi/avx512fp16}/test_complex_r [...] copy gcc/testsuite/gcc.target/x86_64/abi/{ => avx512fp16}/test_m64m128_returning.c (65%) create mode 100644 gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/test_passing_floats.c create mode 100644 gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/test_passing_m64m128.c copy gcc/testsuite/gcc.target/x86_64/abi/{ => avx512fp16}/test_passing_structs.c (77%) copy gcc/testsuite/gcc.target/x86_64/abi/{ => avx512fp16}/test_passing_unions.c (65%) copy gcc/testsuite/gcc.target/x86_64/abi/{ => avx512fp16}/test_struct_returning.c (78%) copy gcc/testsuite/gcc.target/x86_64/abi/{ => avx512fp16}/test_varargs-m128.c (63%)