diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -200,6 +200,8 @@ implies -mtune=. -mtune=generic is the default with no -march or -mtune specified. +- Support for ISA HRESET has been added. + Internal API Changes -------------------- diff --git a/clang/test/Preprocessor/predefined-arch-macros.c b/clang/test/Preprocessor/predefined-arch-macros.c --- a/clang/test/Preprocessor/predefined-arch-macros.c +++ b/clang/test/Preprocessor/predefined-arch-macros.c @@ -1664,6 +1664,7 @@ // CHECK_SPR_M32: #define __F16C__ 1 // CHECK_SPR_M32: #define __FMA__ 1 // CHECK_SPR_M32: #define __GFNI__ 1 +// CHECK_SPR_M32: #define __HRESET__ 1 // CHECK_SPR_M32: #define __INVPCID__ 1 // CHECK_SPR_M32: #define __LZCNT__ 1 // CHECK_SPR_M32: #define __MMX__ 1 @@ -1733,6 +1734,7 @@ // CHECK_SPR_M64: #define __F16C__ 1 // CHECK_SPR_M64: #define __FMA__ 1 // CHECK_SPR_M64: #define __GFNI__ 1 +// CHECK_SPR_M64: #define __HRESET__ 1 // CHECK_SPR_M64: #define __INVPCID__ 1 // CHECK_SPR_M64: #define __LZCNT__ 1 // CHECK_SPR_M64: #define __MMX__ 1 diff --git a/llvm/lib/Support/X86TargetParser.cpp b/llvm/lib/Support/X86TargetParser.cpp --- a/llvm/lib/Support/X86TargetParser.cpp +++ b/llvm/lib/Support/X86TargetParser.cpp @@ -204,7 +204,8 @@ FeaturesICLServer | FeatureAMX_TILE | FeatureAMX_INT8 | FeatureAMX_BF16 | FeatureAVX512BF16 | FeatureAVX512VP2INTERSECT | FeatureCLDEMOTE | FeatureENQCMD | FeatureMOVDIR64B | FeatureMOVDIRI | FeaturePTWRITE | - FeatureSERIALIZE | FeatureSHSTK | FeatureTSXLDTRK | FeatureWAITPKG; + FeatureSERIALIZE | FeatureSHSTK | FeatureTSXLDTRK | FeatureWAITPKG | + FeatureHRESET; // Intel Atom processors. // Bonnell has feature parity with Core2 and adds MOVBE. diff --git a/llvm/lib/Target/X86/X86.td b/llvm/lib/Target/X86/X86.td --- a/llvm/lib/Target/X86/X86.td +++ b/llvm/lib/Target/X86/X86.td @@ -767,6 +767,7 @@ FeatureCLDEMOTE, FeatureWAITPKG, FeaturePTWRITE, + FeatureHRESET, FeatureTSXLDTRK, FeatureENQCMD, FeatureSHSTK,