diff options
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 3 | ||||
-rw-r--r-- | clang/lib/Headers/CMakeLists.txt | 3 | ||||
-rw-r--r-- | clang/lib/Headers/module.modulemap | 13 |
3 files changed, 18 insertions, 1 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 48a3a7c1cbf..96dda54edb9 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -5487,7 +5487,8 @@ public: bool hasFeature(StringRef Feature) const override { return llvm::StringSwitch<bool>(Feature) - .Case("transactional-execution", HasTransactionalExecution) + .Case("systemz", true) + .Case("htm", HasTransactionalExecution) .Default(false); } }; diff --git a/clang/lib/Headers/CMakeLists.txt b/clang/lib/Headers/CMakeLists.txt index 080550f7c77..54290925b10 100644 --- a/clang/lib/Headers/CMakeLists.txt +++ b/clang/lib/Headers/CMakeLists.txt @@ -18,6 +18,8 @@ set(files float.h fma4intrin.h fmaintrin.h + htmintrin.h + htmxlintrin.h ia32intrin.h immintrin.h Intrin.h @@ -34,6 +36,7 @@ set(files prfchwintrin.h rdseedintrin.h rtmintrin.h + s390intrin.h shaintrin.h smmintrin.h stdalign.h diff --git a/clang/lib/Headers/module.modulemap b/clang/lib/Headers/module.modulemap index 062464ed2e5..bb2ca95212d 100644 --- a/clang/lib/Headers/module.modulemap +++ b/clang/lib/Headers/module.modulemap @@ -169,6 +169,19 @@ module _Builtin_intrinsics [system] [extern_c] { header "__wmmintrin_pclmul.h" } } + + explicit module systemz { + requires systemz + export * + + header "s390intrin.h" + + explicit module htm { + requires htm + header "htmintrin.h" + header "htmxlintrin.h" + } + } } module _Builtin_stddef_max_align_t [system] [extern_c] { |