[X86] Add -mmpx/-mno-mpx command line options and __MPX__ define to match gcc.
llvm-svn: 294419
This commit is contained in:
parent
8493e6a889
commit
b16cb82c93
|
@ -2181,6 +2181,8 @@ X86
|
|||
|
||||
.. option:: -mmmx, -mno-mmx
|
||||
|
||||
.. option:: -mmpx, -mno-mpx
|
||||
|
||||
.. option:: -mmwaitx, -mno-mwaitx
|
||||
|
||||
.. option:: -mpclmul, -mno-pclmul
|
||||
|
|
|
@ -1718,6 +1718,7 @@ def mno_pku : Flag<["-"], "mno-pku">, Group<m_x86_Features_Group>;
|
|||
def mno_clflushopt : Flag<["-"], "mno-clflushopt">, Group<m_x86_Features_Group>;
|
||||
def mno_clwb : Flag<["-"], "mno-clwb">, Group<m_x86_Features_Group>;
|
||||
def mno_movbe : Flag<["-"], "mno-movbe">, Group<m_x86_Features_Group>;
|
||||
def mno_mpx : Flag<["-"], "mno-mpx">, Group<m_x86_Features_Group>;
|
||||
|
||||
def munaligned_access : Flag<["-"], "munaligned-access">, Group<m_arm_Features_Group>,
|
||||
HelpText<"Allow memory accesses to be unaligned (AArch32/AArch64 only)">;
|
||||
|
@ -1913,6 +1914,7 @@ def mmwaitx : Flag<["-"], "mmwaitx">, Group<m_x86_Features_Group>;
|
|||
def mclflushopt : Flag<["-"], "mclflushopt">, Group<m_x86_Features_Group>;
|
||||
def mclwb : Flag<["-"], "mclwb">, Group<m_x86_Features_Group>;
|
||||
def mmovbe : Flag<["-"], "mmovbe">, Group<m_x86_Features_Group>;
|
||||
def mmpx : Flag<["-"], "mmpx">, Group<m_x86_Features_Group>;
|
||||
def mips16 : Flag<["-"], "mips16">, Group<m_Group>;
|
||||
def mno_mips16 : Flag<["-"], "mno-mips16">, Group<m_Group>;
|
||||
def mmicromips : Flag<["-"], "mmicromips">, Group<m_Group>;
|
||||
|
|
|
@ -3881,6 +3881,8 @@ void X86TargetInfo::getTargetDefines(const LangOptions &Opts,
|
|||
Builder.defineMacro("__CLFLUSHOPT__");
|
||||
if (HasCLWB)
|
||||
Builder.defineMacro("__CLWB__");
|
||||
if (HasMPX)
|
||||
Builder.defineMacro("__MPX__");
|
||||
|
||||
// Each case falls through to the previous one here.
|
||||
switch (SSELevel) {
|
||||
|
|
|
@ -64,3 +64,8 @@
|
|||
// RUN: %clang -target i386-unknown-linux-gnu -march=i386 -mno-movbe %s -### -o %t.o 2>&1 | FileCheck -check-prefix=NO-MOVBE %s
|
||||
// MOVBE: "-target-feature" "+movbe"
|
||||
// NO-MOVBE: "-target-feature" "-movbe"
|
||||
|
||||
// RUN: %clang -target i386-unknown-linux-gnu -march=i386 -mmpx %s -### -o %t.o 2>&1 | FileCheck -check-prefix=MPX %s
|
||||
// RUN: %clang -target i386-unknown-linux-gnu -march=i386 -mno-mpx %s -### -o %t.o 2>&1 | FileCheck -check-prefix=NO-MPX %s
|
||||
// MPX: "-target-feature" "+mpx"
|
||||
// NO-MPX: "-target-feature" "-mpx"
|
||||
|
|
|
@ -656,6 +656,7 @@
|
|||
// CHECK_SKL_M32: #define __FMA__ 1
|
||||
// CHECK_SKL_M32: #define __LZCNT__ 1
|
||||
// CHECK_SKL_M32: #define __MMX__ 1
|
||||
// CHECK_SKL_M32: #define __MPX__ 1
|
||||
// CHECK_SKL_M32: #define __PCLMUL__ 1
|
||||
// CHECK_SKL_M32: #define __POPCNT__ 1
|
||||
// CHECK_SKL_M32: #define __RDRND__ 1
|
||||
|
@ -687,6 +688,7 @@
|
|||
// CHECK_SKL_M64: #define __FMA__ 1
|
||||
// CHECK_SKL_M64: #define __LZCNT__ 1
|
||||
// CHECK_SKL_M64: #define __MMX__ 1
|
||||
// CHECK_SKL_M64: #define __MPX__ 1
|
||||
// CHECK_SKL_M64: #define __PCLMUL__ 1
|
||||
// CHECK_SKL_M64: #define __POPCNT__ 1
|
||||
// CHECK_SKL_M64: #define __RDRND__ 1
|
||||
|
@ -801,6 +803,7 @@
|
|||
// CHECK_SKX_M32: #define __FMA__ 1
|
||||
// CHECK_SKX_M32: #define __LZCNT__ 1
|
||||
// CHECK_SKX_M32: #define __MMX__ 1
|
||||
// CHECK_SKX_M32: #define __MPX__ 1
|
||||
// CHECK_SKX_M32: #define __PCLMUL__ 1
|
||||
// CHECK_SKX_M32: #define __POPCNT__ 1
|
||||
// CHECK_SKX_M32: #define __RDRND__ 1
|
||||
|
@ -841,6 +844,7 @@
|
|||
// CHECK_SKX_M64: #define __FMA__ 1
|
||||
// CHECK_SKX_M64: #define __LZCNT__ 1
|
||||
// CHECK_SKX_M64: #define __MMX__ 1
|
||||
// CHECK_SKX_M64: #define __MPX__ 1
|
||||
// CHECK_SKX_M64: #define __PCLMUL__ 1
|
||||
// CHECK_SKX_M64: #define __POPCNT__ 1
|
||||
// CHECK_SKX_M64: #define __RDRND__ 1
|
||||
|
@ -885,6 +889,7 @@
|
|||
// CHECK_CNL_M32: #define __FMA__ 1
|
||||
// CHECK_CNL_M32: #define __LZCNT__ 1
|
||||
// CHECK_CNL_M32: #define __MMX__ 1
|
||||
// CHECK_CNL_M32: #define __MPX__ 1
|
||||
// CHECK_CNL_M32: #define __PCLMUL__ 1
|
||||
// CHECK_CNL_M32: #define __POPCNT__ 1
|
||||
// CHECK_CNL_M32: #define __RDRND__ 1
|
||||
|
@ -924,6 +929,7 @@
|
|||
// CHECK_CNL_M64: #define __FMA__ 1
|
||||
// CHECK_CNL_M64: #define __LZCNT__ 1
|
||||
// CHECK_CNL_M64: #define __MMX__ 1
|
||||
// CHECK_CNL_M64: #define __MPX__ 1
|
||||
// CHECK_CNL_M64: #define __PCLMUL__ 1
|
||||
// CHECK_CNL_M64: #define __POPCNT__ 1
|
||||
// CHECK_CNL_M64: #define __RDRND__ 1
|
||||
|
|
Loading…
Reference in New Issue