-
- Downloads
Support Intel USER_MSR
gcc/ChangeLog: * common/config/i386/cpuinfo.h (get_available_features): Detect USER_MSR. * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_USER_MSR_SET): New. (OPTION_MASK_ISA2_USER_MSR_UNSET): Ditto. (ix86_handle_option): Handle -musermsr. * common/config/i386/i386-cpuinfo.h (enum processor_features): Add FEATURE_USER_MSR. * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for usermsr. * config.gcc: Add usermsrintrin.h * config/i386/cpuid.h (bit_USER_MSR): New. * config/i386/i386-builtin-types.def: Add DEF_FUNCTION_TYPE (VOID, UINT64, UINT64). * config/i386/i386-builtins.cc (ix86_init_mmx_sse_builtins): Add __builtin_urdmsr and __builtin_uwrmsr. * config/i386/i386-builtins.h (ix86_builtins): Add IX86_BUILTIN_URDMSR and IX86_BUILTIN_UWRMSR. * config/i386/i386-c.cc (ix86_target_macros_internal): Define __USER_MSR__. * config/i386/i386-expand.cc (ix86_expand_builtin): Handle new builtins. * config/i386/i386-isa.def (USER_MSR): Add DEF_PTA(USER_MSR). * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): Handle usermsr. * config/i386/i386.md (urdmsr): New define_insn. (uwrmsr): Ditto. * config/i386/i386.opt: Add option -musermsr. * config/i386/x86gprintrin.h: Include usermsrintrin.h * doc/extend.texi: Document usermsr. * doc/invoke.texi: Document -musermsr. * doc/sourcebuild.texi: Document target usermsr. * config/i386/usermsrintrin.h: New file. gcc/testsuite/ChangeLog: * gcc.target/i386/funcspec-56.inc: Add new target attribute. * gcc.target/i386/x86gprintrin-1.c: Add -musermsr for 64bit target. * gcc.target/i386/x86gprintrin-2.c: Ditto. * gcc.target/i386/x86gprintrin-3.c: Ditto. * gcc.target/i386/x86gprintrin-4.c: Add musermsr for 64bit target. * gcc.target/i386/x86gprintrin-5.c: Ditto * gcc.target/i386/user_msr-1.c: New test. * gcc.target/i386/user_msr-2.c: Ditto.
Showing
- gcc/common/config/i386/cpuinfo.h 2 additions, 0 deletionsgcc/common/config/i386/cpuinfo.h
- gcc/common/config/i386/i386-common.cc 15 additions, 0 deletionsgcc/common/config/i386/i386-common.cc
- gcc/common/config/i386/i386-cpuinfo.h 1 addition, 0 deletionsgcc/common/config/i386/i386-cpuinfo.h
- gcc/common/config/i386/i386-isas.h 1 addition, 0 deletionsgcc/common/config/i386/i386-isas.h
- gcc/config.gcc 2 additions, 1 deletiongcc/config.gcc
- gcc/config/i386/cpuid.h 1 addition, 0 deletionsgcc/config/i386/cpuid.h
- gcc/config/i386/i386-builtin-types.def 3 additions, 0 deletionsgcc/config/i386/i386-builtin-types.def
- gcc/config/i386/i386-builtins.cc 8 additions, 0 deletionsgcc/config/i386/i386-builtins.cc
- gcc/config/i386/i386-builtins.h 2 additions, 0 deletionsgcc/config/i386/i386-builtins.h
- gcc/config/i386/i386-c.cc 2 additions, 0 deletionsgcc/config/i386/i386-c.cc
- gcc/config/i386/i386-expand.cc 35 additions, 0 deletionsgcc/config/i386/i386-expand.cc
- gcc/config/i386/i386-isa.def 1 addition, 0 deletionsgcc/config/i386/i386-isa.def
- gcc/config/i386/i386-options.cc 3 additions, 1 deletiongcc/config/i386/i386-options.cc
- gcc/config/i386/i386.md 24 additions, 0 deletionsgcc/config/i386/i386.md
- gcc/config/i386/i386.opt 4 additions, 0 deletionsgcc/config/i386/i386.opt
- gcc/config/i386/usermsrintrin.h 60 additions, 0 deletionsgcc/config/i386/usermsrintrin.h
- gcc/config/i386/x86gprintrin.h 2 additions, 0 deletionsgcc/config/i386/x86gprintrin.h
- gcc/doc/extend.texi 5 additions, 0 deletionsgcc/doc/extend.texi
- gcc/doc/invoke.texi 7 additions, 3 deletionsgcc/doc/invoke.texi
- gcc/doc/sourcebuild.texi 3 additions, 0 deletionsgcc/doc/sourcebuild.texi
Loading
Please register or sign in to comment