-
- Downloads
Initial support for AVX10.1
gcc/ChangeLog: * common/config/i386/cpuinfo.h (get_available_features): Add avx10_set and version and detect avx10.1. (cpu_indicator_init): Handle avx10.1-512. * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX10_512BIT_SET): New. (OPTION_MASK_ISA2_AVX10_1_SET): Ditto. (OPTION_MASK_ISA2_AVX10_512BIT_UNSET): Ditto. (OPTION_MASK_ISA2_AVX10_1_UNSET): Ditto. (OPTION_MASK_ISA2_AVX2_UNSET): Modify for AVX10_1. (ix86_handle_option): Handle -mavx10.1, -mavx10.1-256 and -mavx10.1-512. * common/config/i386/i386-cpuinfo.h (enum processor_features): Add FEATURE_AVX10_512BIT, FEATURE_AVX10_1 and FEATURE_AVX10_512BIT. * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for AVX10_512BIT, AVX10_1 and AVX10_1_512. * config/i386/constraints.md (Yk): Add AVX10_1. (Yv): Ditto. (k): Ditto. * config/i386/cpuid.h (bit_AVX10): New. (bit_AVX10_256): Ditto. (bit_AVX10_512): Ditto. * config/i386/i386-c.cc (ix86_target_macros_internal): Define AVX10_512BIT and AVX10_1. * config/i386/i386-isa.def (AVX10_512BIT): Add DEF_PTA(AVX10_512BIT). (AVX10_1): Add DEF_PTA(AVX10_1). * config/i386/i386-options.cc (isa2_opts): Add -mavx10.1. (ix86_valid_target_attribute_inner_p): Handle avx10-512bit, avx10.1 and avx10.1-512. (ix86_option_override_internal): Enable AVX512{F,VL,BW,DQ,CD,BF16, FP16,VBMI,VBMI2,VNNI,IFMA,BITALG,VPOPCNTDQ} features for avx10.1-512. (ix86_valid_target_attribute_inner_p): Handle AVX10_1. * config/i386/i386.cc (ix86_get_ssemov): Add AVX10_1. (ix86_conditional_register_usage): Ditto. (ix86_hard_regno_mode_ok): Ditto. (ix86_rtx_costs): Ditto. * config/i386/i386.h (VALID_MASK_AVX10_MODE): New macro. * config/i386/i386.opt: Add option -mavx10.1, -mavx10.1-256 and -mavx10.1-512. * doc/extend.texi: Document avx10.1, avx10.1-256 and avx10.1-512. * doc/invoke.texi: Document -mavx10.1, -mavx10.1-256 and -mavx10.1-512. * doc/sourcebuild.texi: Document target avx10.1, avx10.1-256 and avx10.1-512. gcc/testsuite/ChangeLog: * g++.target/i386/mv33.C: New test. * gcc.target/i386/avx10_1-1.c: Ditto. * gcc.target/i386/avx10_1-2.c: Ditto. * gcc.target/i386/avx10_1-3.c: Ditto. * gcc.target/i386/avx10_1-4.c: Ditto. * gcc.target/i386/avx10_1-5.c: Ditto. * gcc.target/i386/avx10_1-6.c: Ditto. * gcc.target/i386/avx10_1-7.c: Ditto. * gcc.target/i386/avx10_1-8.c: Ditto. * gcc.target/i386/avx10_1-9.c: Ditto. * gcc.target/i386/avx10_1-10.c: Ditto.
Showing
- gcc/common/config/i386/cpuinfo.h 36 additions, 0 deletionsgcc/common/config/i386/cpuinfo.h
- gcc/common/config/i386/i386-common.cc 52 additions, 1 deletiongcc/common/config/i386/i386-common.cc
- gcc/common/config/i386/i386-cpuinfo.h 3 additions, 0 deletionsgcc/common/config/i386/i386-cpuinfo.h
- gcc/common/config/i386/i386-isas.h 5 additions, 0 deletionsgcc/common/config/i386/i386-isas.h
- gcc/config/i386/constraints.md 3 additions, 3 deletionsgcc/config/i386/constraints.md
- gcc/config/i386/cpuid.h 6 additions, 0 deletionsgcc/config/i386/cpuid.h
- gcc/config/i386/i386-c.cc 4 additions, 0 deletionsgcc/config/i386/i386-c.cc
- gcc/config/i386/i386-isa.def 2 additions, 0 deletionsgcc/config/i386/i386-isa.def
- gcc/config/i386/i386-options.cc 24 additions, 2 deletionsgcc/config/i386/i386-options.cc
- gcc/config/i386/i386.cc 14 additions, 4 deletionsgcc/config/i386/i386.cc
- gcc/config/i386/i386.h 3 additions, 0 deletionsgcc/config/i386/i386.h
- gcc/config/i386/i386.opt 20 additions, 0 deletionsgcc/config/i386/i386.opt
- gcc/doc/extend.texi 13 additions, 0 deletionsgcc/doc/extend.texi
- gcc/doc/invoke.texi 13 additions, 3 deletionsgcc/doc/invoke.texi
- gcc/doc/sourcebuild.texi 9 additions, 0 deletionsgcc/doc/sourcebuild.texi
- gcc/testsuite/g++.target/i386/mv33.C 30 additions, 0 deletionsgcc/testsuite/g++.target/i386/mv33.C
- gcc/testsuite/gcc.target/i386/avx10_1-1.c 22 additions, 0 deletionsgcc/testsuite/gcc.target/i386/avx10_1-1.c
- gcc/testsuite/gcc.target/i386/avx10_1-10.c 13 additions, 0 deletionsgcc/testsuite/gcc.target/i386/avx10_1-10.c
- gcc/testsuite/gcc.target/i386/avx10_1-2.c 13 additions, 0 deletionsgcc/testsuite/gcc.target/i386/avx10_1-2.c
- gcc/testsuite/gcc.target/i386/avx10_1-3.c 13 additions, 0 deletionsgcc/testsuite/gcc.target/i386/avx10_1-3.c
Loading
Please register or sign in to comment