Hi, This patch adds support for CLDEMOTE instruction.
Is it ok for trunk and after few day for backport to GCC-8? 2018-05-08 Sebastian Peryt <sebastian.pe...@intel.com> gcc/ * common/config/i386/i386-common.c (OPTION_MASK_ISA_CLDEMOTE_SET, OPTION_MASK_ISA_CLDEMOTE_UNSET): New defines. (ix86_handle_option): Handle -mcldemote. * config.gcc: New header. * config/i386/cldemoteintrin.h: New file. * config/i386/cpuid.h (bit_CLDEMOTE): New bit. * config/i386/driver-i386.c (host_detect_local_cpu): Detect -mcldemote. * config/i386/i386-c.c (ix86_target_macros_internal): Handle OPTION_MASK_ISA_CLDEMOTE. * config/i386/i386.c (ix86_target_string): Added -mcldemote. (ix86_valid_target_attribute_inner_p): Ditto. (enum ix86_builtins): Added IX86_BUILTIN_CLDEMOTE. (ix86_init_mmx_sse_builtins): Define __builtin_ia32_cldemote. (ix86_expand_builtin): Expand IX86_BUILTIN_CLDEMOTE. * config/i386/i386.h (TARGET_CLDEMOTE, TARGET_CLDEMOTE_P): New. * config/i386/i386.md (UNSPECV_CLDEMOTE): New. (cldemote): New. * config/i386/i386.opt: Added -mcldemote. * config/i386/x86intrin.h: New header. * doc/invoke.texi: Added -mcldemote. 2018-05-08 Sebastian Peryt <sebastian.pe...@intel.com> gcc/testsuite/ * gcc.target/i386/cldemote-1.c: New test. Thanks, Sebastian