Skip to content
Snippets Groups Projects
Commit 5fbd91b1 authored by Hu, Lin1's avatar Hu, Lin1
Browse files

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.
parent 39488446
No related branches found
No related tags found
No related merge requests found
Showing
with 181 additions and 5 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment