aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-intrinsic.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2021-04-15 11:19:32 -0700
committerH.J. Lu <hjl.tools@gmail.com>2021-04-21 06:00:19 -0700
commitd8c6cc2ca35489bc41bb58ec96c1195928826922 (patch)
tree4bc1374ea2b01a8c821f6b761856dc0c75964c43 /gcc/fortran/trans-intrinsic.c
parent88202c883c07da1c03dbb1ad440f1b70189c4399 (diff)
downloadgcc-d8c6cc2ca35489bc41bb58ec96c1195928826922.zip
gcc-d8c6cc2ca35489bc41bb58ec96c1195928826922.tar.gz
gcc-d8c6cc2ca35489bc41bb58ec96c1195928826922.tar.bz2
x86: Add -mmwait for -mgeneral-regs-only
Add -mmwait so that the MWAIT and MONITOR intrinsics can be used with -mgeneral-regs-only and make -msse3 to imply -mmwait. gcc/ * config.gcc: Install mwaitintrin.h for i[34567]86-*-* and x86_64-*-* targets. * common/config/i386/i386-common.c (OPTION_MASK_ISA2_MWAIT_SET): New. (OPTION_MASK_ISA2_MWAIT_UNSET): Likewise. (ix86_handle_option): Handle -mmwait. * config/i386/i386-builtins.c (ix86_init_mmx_sse_builtins): Replace OPTION_MASK_ISA_SSE3 with OPTION_MASK_ISA2_MWAIT on __builtin_ia32_monitor and __builtin_ia32_mwait. * config/i386/i386-options.c (isa2_opts): Add -mmwait. (ix86_valid_target_attribute_inner_p): Likewise. (ix86_option_override_internal): Enable mwait/monitor instructions for -msse3. * config/i386/i386.h (TARGET_MWAIT): New. (TARGET_MWAIT_P): Likewise. * config/i386/i386.opt: Add -mmwait. * config/i386/mwaitintrin.h: New file. * config/i386/pmmintrin.h: Include <mwaitintrin.h>. * config/i386/sse.md (sse3_mwait): Replace TARGET_SSE3 with TARGET_MWAIT. (@sse3_monitor_<mode>): Likewise. * config/i386/x86gprintrin.h: Include <mwaitintrin.h>. * doc/extend.texi: Document mwait target attribute. * doc/invoke.texi: Document -mmwait. gcc/testsuite/ * gcc.target/i386/monitor-2.c: New test.
Diffstat (limited to 'gcc/fortran/trans-intrinsic.c')
0 files changed, 0 insertions, 0 deletions