* config/i386/i386-builtin-types.def (VOID_FTYPE_INT_INT64): New type.
commit154452f45aad4bfe7a1f719c65cd26837f416a48
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 14 May 2017 07:18:38 +0000 (14 07:18 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 14 May 2017 07:18:38 +0000 (14 07:18 +0000)
tree2daf342d4400b4c11dbf2d5ca6a48bb7e22ecd82
parenta4421e7b4a7a921bf2e79756965f1bbbbc95ccb9
* config/i386/i386-builtin-types.def (VOID_FTYPE_INT_INT64): New type.
* config/i386/i386-builtin.def (__builtin_ia32_xgetbv)
(__builtin_ia32_xsetbv): New builtins.
* config/i386/i386.c (ix86_expand_special_args_builtin):
Process new types.
(ix86_expand_builtin): Special expand for new intrinsics.
* config/i386/i386.md (UNSPECV_XGETBV, UNSPECV_XSETBV): New.
(xsetbv, xsetbv_rex64, xgetbv, xgetbv_rex64): New insn patterns.
* config/i386/xsaveintrin.h (_xsetbv, _getbv): New intrinsics.

testsuite/ChangeLog:

* gcc.target/i386/xgetsetbv.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248028 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386-builtin-types.def
gcc/config/i386/i386-builtin.def
gcc/config/i386/i386.c
gcc/config/i386/i386.md
gcc/config/i386/xsaveintrin.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/rdpid.c
gcc/testsuite/gcc.target/i386/xgetsetbv.c [new file with mode: 0644]