Author: Nick Sarnie
Date: 2025-04-25T20:18:17Z
New Revision: b60ee399787cb2a5f50d21932db3492cc4ff0d34

URL: 
https://github.com/llvm/llvm-project/commit/b60ee399787cb2a5f50d21932db3492cc4ff0d34
DIFF: 
https://github.com/llvm/llvm-project/commit/b60ee399787cb2a5f50d21932db3492cc4ff0d34.diff

LOG: Revert "[clang][ARM][AArch64] Define intrinsics guarded by __has_builtin 
on all platforms" (#137374)

This reverts commit
https://github.com/llvm/llvm-project/commit/de0153da325b21340747d8a064906a8c1c2f95ea.

It breaks MSVC.

---------

Signed-off-by: Sarnie, Nick <nick.sar...@intel.com>

Added: 
    

Modified: 
    clang/include/clang/Basic/BuiltinHeaders.def
    clang/include/clang/Basic/BuiltinsAArch64.def
    clang/include/clang/Basic/BuiltinsARM.def
    clang/lib/Headers/arm_acle.h
    clang/lib/Sema/SemaARM.cpp
    clang/test/CodeGen/arm-microsoft-intrinsics.c
    clang/test/CodeGen/arm64-microsoft-intrinsics.c
    clang/test/CodeGen/builtins-arm-microsoft.c
    clang/test/Headers/Inputs/include/stdint.h
    clang/test/Headers/ms-intrin.cpp

Removed: 
    clang/test/CodeGen/arm-former-microsoft-intrinsics-header-warning.c
    clang/test/CodeGen/arm-former-microsoft-intrinsics.c
    clang/test/CodeGen/arm64-former-microsoft-intrinsics-header-warning.c
    clang/test/CodeGen/arm64-former-microsoft-intrinsics.c


################################################################################
diff  --git a/clang/include/clang/Basic/BuiltinHeaders.def 
b/clang/include/clang/Basic/BuiltinHeaders.def
index 22668ec7a3396..8e4a2f9bee9aa 100644
--- a/clang/include/clang/Basic/BuiltinHeaders.def
+++ b/clang/include/clang/Basic/BuiltinHeaders.def
@@ -12,7 +12,6 @@
 
//===----------------------------------------------------------------------===//
 
 HEADER(NO_HEADER, nullptr)
-HEADER(ARMACLE_H, "arm_acle.h")
 HEADER(BLOCKS_H, "Blocks.h")
 HEADER(COMPLEX_H, "complex.h")
 HEADER(CTYPE_H, "ctype.h")

diff  --git a/clang/include/clang/Basic/BuiltinsAArch64.def 
b/clang/include/clang/Basic/BuiltinsAArch64.def
index 8867a9fe09fb9..0b2dba86d9930 100644
--- a/clang/include/clang/Basic/BuiltinsAArch64.def
+++ b/clang/include/clang/Basic/BuiltinsAArch64.def
@@ -50,11 +50,6 @@ BUILTIN(__builtin_arm_wfi, "v", "")
 BUILTIN(__builtin_arm_sev, "v", "")
 BUILTIN(__builtin_arm_sevl, "v", "")
 BUILTIN(__builtin_arm_chkfeat, "WUiWUi", "")
-TARGET_HEADER_BUILTIN(__yield, "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__wfe,   "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__wfi,   "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__sev,   "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__sevl,  "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
 
 // Like __builtin_trap but provide an 16-bit immediate reason code (which goes 
into `brk #N`).
 BUILTIN(__builtin_arm_trap, "vUIs", "nr")
@@ -87,9 +82,6 @@ TARGET_BUILTIN(__builtin_arm_mops_memset_tag, "v*v*iz", "", 
"mte,mops")
 BUILTIN(__builtin_arm_dmb, "vUi", "nc")
 BUILTIN(__builtin_arm_dsb, "vUi", "nc")
 BUILTIN(__builtin_arm_isb, "vUi", "nc")
-TARGET_HEADER_BUILTIN(__dmb, "vUi", "nch", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__dsb, "vUi", "nch", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__isb, "vUi", "nch", ARMACLE_H, ALL_LANGUAGES, "")
 
 TARGET_BUILTIN(__builtin_arm_jcvt, "Zid", "nc", "v8.3a")
 
@@ -106,6 +98,16 @@ BUILTIN(__builtin_arm_wsr64, "vcC*WUi", "nc")
 TARGET_BUILTIN(__builtin_arm_wsr128, "vcC*LLLUi", "nc", "d128")
 BUILTIN(__builtin_arm_wsrp, "vcC*vC*", "nc")
 
+// MSVC
+LANGBUILTIN(__dmb, "vUi", "nc", ALL_MS_LANGUAGES)
+LANGBUILTIN(__dsb, "vUi", "nc", ALL_MS_LANGUAGES)
+LANGBUILTIN(__isb, "vUi", "nc", ALL_MS_LANGUAGES)
+LANGBUILTIN(__yield, "v", "",   ALL_MS_LANGUAGES)
+LANGBUILTIN(__wfe,   "v", "",   ALL_MS_LANGUAGES)
+LANGBUILTIN(__wfi,   "v", "",   ALL_MS_LANGUAGES)
+LANGBUILTIN(__sev,   "v", "",   ALL_MS_LANGUAGES)
+LANGBUILTIN(__sevl,  "v", "",   ALL_MS_LANGUAGES)
+
 // Misc
 BUILTIN(__builtin_sponentry, "v*", "c")
 

diff  --git a/clang/include/clang/Basic/BuiltinsARM.def 
b/clang/include/clang/Basic/BuiltinsARM.def
index 2592e25e95c37..cbab87cecbc7d 100644
--- a/clang/include/clang/Basic/BuiltinsARM.def
+++ b/clang/include/clang/Basic/BuiltinsARM.def
@@ -186,19 +186,11 @@ BUILTIN(__builtin_arm_wfi, "v", "")
 BUILTIN(__builtin_arm_sev, "v", "")
 BUILTIN(__builtin_arm_sevl, "v", "")
 BUILTIN(__builtin_arm_dbg, "vUi", "")
-TARGET_HEADER_BUILTIN(__yield, "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__wfe, "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__wfi, "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__sev, "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__sevl, "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
 
 // Data barrier
 BUILTIN(__builtin_arm_dmb, "vUi", "nc")
 BUILTIN(__builtin_arm_dsb, "vUi", "nc")
 BUILTIN(__builtin_arm_isb, "vUi", "nc")
-TARGET_HEADER_BUILTIN(__dmb, "vUi", "nch", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__dsb, "vUi", "nch", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__isb, "vUi", "nch", ARMACLE_H, ALL_LANGUAGES, "")
 
 // Prefetch
 BUILTIN(__builtin_arm_prefetch, "vvC*UiUi", "nc")
@@ -217,6 +209,15 @@ BUILTIN(__builtin_sponentry, "v*", "c")
 // MSVC
 LANGBUILTIN(__emit, "vIUiC", "", ALL_MS_LANGUAGES)
 
+LANGBUILTIN(__yield, "v", "", ALL_MS_LANGUAGES)
+LANGBUILTIN(__wfe, "v", "", ALL_MS_LANGUAGES)
+LANGBUILTIN(__wfi, "v", "", ALL_MS_LANGUAGES)
+LANGBUILTIN(__sev, "v", "", ALL_MS_LANGUAGES)
+LANGBUILTIN(__sevl, "v", "", ALL_MS_LANGUAGES)
+
+LANGBUILTIN(__dmb, "vUi", "nc", ALL_MS_LANGUAGES)
+LANGBUILTIN(__dsb, "vUi", "nc", ALL_MS_LANGUAGES)
+LANGBUILTIN(__isb, "vUi", "nc", ALL_MS_LANGUAGES)
 LANGBUILTIN(__ldrexd, "WiWiCD*", "", ALL_MS_LANGUAGES)
 LANGBUILTIN(_MoveFromCoprocessor, "UiIUiIUiIUiIUiIUi", "", ALL_MS_LANGUAGES)
 LANGBUILTIN(_MoveFromCoprocessor2, "UiIUiIUiIUiIUiIUi", "", ALL_MS_LANGUAGES)

diff  --git a/clang/lib/Headers/arm_acle.h b/clang/lib/Headers/arm_acle.h
index 5cfa3d023a7d5..a7a62b69e0468 100644
--- a/clang/lib/Headers/arm_acle.h
+++ b/clang/lib/Headers/arm_acle.h
@@ -29,16 +29,52 @@ extern "C" {
 
 /* 7 SYNCHRONIZATION, BARRIER AND HINT INTRINSICS */
 /* 7.3 Memory barriers */
-void __dmb(unsigned int);
-void __dsb(unsigned int);
-void __isb(unsigned int);
+#if !__has_builtin(__dmb)
+#define __dmb(i) __builtin_arm_dmb(i)
+#endif
+#if !__has_builtin(__dsb)
+#define __dsb(i) __builtin_arm_dsb(i)
+#endif
+#if !__has_builtin(__isb)
+#define __isb(i) __builtin_arm_isb(i)
+#endif
 
 /* 7.4 Hints */
-void __wfi(void);
-void __wfe(void);
-void __sev(void);
-void __sevl(void);
-void __yield(void);
+
+#if !__has_builtin(__wfi)
+static __inline__ void __attribute__((__always_inline__, __nodebug__))
+__wfi(void) {
+  __builtin_arm_wfi();
+}
+#endif
+
+#if !__has_builtin(__wfe)
+static __inline__ void __attribute__((__always_inline__, __nodebug__))
+__wfe(void) {
+  __builtin_arm_wfe();
+}
+#endif
+
+#if !__has_builtin(__sev)
+static __inline__ void __attribute__((__always_inline__, __nodebug__))
+__sev(void) {
+  __builtin_arm_sev();
+}
+#endif
+
+#if !__has_builtin(__sevl)
+static __inline__ void __attribute__((__always_inline__, __nodebug__))
+__sevl(void) {
+  __builtin_arm_sevl();
+}
+#endif
+
+#if !__has_builtin(__yield)
+static __inline__ void __attribute__((__always_inline__, __nodebug__))
+__yield(void) {
+  __builtin_arm_yield();
+}
+#endif
 
 #if defined(__ARM_32BIT_STATE) && __ARM_32BIT_STATE
 #define __dbg(t) __builtin_arm_dbg(t)

diff  --git a/clang/lib/Sema/SemaARM.cpp b/clang/lib/Sema/SemaARM.cpp
index c1cfea042fca5..de6cf1ae9d7ed 100644
--- a/clang/lib/Sema/SemaARM.cpp
+++ b/clang/lib/Sema/SemaARM.cpp
@@ -1010,11 +1010,8 @@ bool SemaARM::CheckARMBuiltinFunctionCall(const 
TargetInfo &TI,
   case ARM::BI__builtin_arm_vcvtr_d:
     return SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 1);
   case ARM::BI__builtin_arm_dmb:
-  case ARM::BI__dmb:
   case ARM::BI__builtin_arm_dsb:
-  case ARM::BI__dsb:
   case ARM::BI__builtin_arm_isb:
-  case ARM::BI__isb:
   case ARM::BI__builtin_arm_dbg:
     return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 15);
   case ARM::BI__builtin_arm_cdp:
@@ -1111,11 +1108,8 @@ bool SemaARM::CheckAArch64BuiltinFunctionCall(const 
TargetInfo &TI,
   switch (BuiltinID) {
   default: return false;
   case AArch64::BI__builtin_arm_dmb:
-  case AArch64::BI__dmb:
   case AArch64::BI__builtin_arm_dsb:
-  case AArch64::BI__dsb:
   case AArch64::BI__builtin_arm_isb:
-  case AArch64::BI__isb:
     l = 0;
     u = 15;
     break;

diff  --git 
a/clang/test/CodeGen/arm-former-microsoft-intrinsics-header-warning.c 
b/clang/test/CodeGen/arm-former-microsoft-intrinsics-header-warning.c
deleted file mode 100644
index 8edcbbeb0375d..0000000000000
--- a/clang/test/CodeGen/arm-former-microsoft-intrinsics-header-warning.c
+++ /dev/null
@@ -1,50 +0,0 @@
-// RUN: %clang_cc1 -triple thumbv7-windows -fms-compatibility -Wno-everything 
-Wimplicit-function-declaration -fsyntax-only -verify %s
-// RUN: %clang_cc1 -triple armv7-eabi -Wno-everything 
-Wimplicit-function-declaration -fsyntax-only -verify %s
-
-void check__dmb(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __dmb(0);
-}
-
-void check__dsb(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __dsb(0);
-}
-
-void check__isb(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __isb(0);
-}
-
-void check__yield(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __yield();
-}
-
-void check__wfe(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __wfe();
-}
-
-void check__wfi(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __wfi();
-}
-
-void check__sev(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __sev();
-}
-
-void check__sevl(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __sevl();
-}

diff  --git a/clang/test/CodeGen/arm-former-microsoft-intrinsics.c 
b/clang/test/CodeGen/arm-former-microsoft-intrinsics.c
deleted file mode 100644
index 8a02602dc9876..0000000000000
--- a/clang/test/CodeGen/arm-former-microsoft-intrinsics.c
+++ /dev/null
@@ -1,53 +0,0 @@
-// RUN: %clang_cc1 -triple thumbv7-windows -fms-compatibility -emit-llvm -o - 
%s \
-// RUN:    | FileCheck %s
-
-// RUN: %clang_cc1 -triple armv7-eabi -Werror -emit-llvm -o - %s \
-// RUN:    | FileCheck %s
-#include <arm_acle.h>
-void check__dmb(void) {
-  __dmb(0);
-}
-
-// CHECK: @llvm.arm.dmb(i32 0)
-
-void check__dsb(void) {
-  __dsb(0);
-}
-
-// CHECK: @llvm.arm.dsb(i32 0)
-
-void check__isb(void) {
-  __isb(0);
-}
-
-// CHECK: @llvm.arm.isb(i32 0)
-
-void check__yield(void) {
-  __yield();
-}
-
-// CHECK: @llvm.arm.hint(i32 1)
-
-void check__wfe(void) {
-  __wfe();
-}
-
-// CHECK: @llvm.arm.hint(i32 2)
-
-void check__wfi(void) {
-  __wfi();
-}
-
-// CHECK: @llvm.arm.hint(i32 3)
-
-void check__sev(void) {
-  __sev();
-}
-
-// CHECK: @llvm.arm.hint(i32 4)
-
-void check__sevl(void) {
-  __sevl();
-}
-
-// CHECK: @llvm.arm.hint(i32 5)

diff  --git a/clang/test/CodeGen/arm-microsoft-intrinsics.c 
b/clang/test/CodeGen/arm-microsoft-intrinsics.c
index a5f3e2c719227..6793b3879eede 100644
--- a/clang/test/CodeGen/arm-microsoft-intrinsics.c
+++ b/clang/test/CodeGen/arm-microsoft-intrinsics.c
@@ -4,6 +4,27 @@
 // RUN: not %clang_cc1 -triple armv7-eabi -Werror -S -o /dev/null %s 2>&1 \
 // RUN:    | FileCheck %s -check-prefix CHECK-EABI
 
+void check__dmb(void) {
+  __dmb(0);
+}
+
+// CHECK-MSVC: @llvm.arm.dmb(i32 0)
+// CHECK-EABI: error: call to undeclared function '__dmb'
+
+void check__dsb(void) {
+  __dsb(0);
+}
+
+// CHECK-MSVC: @llvm.arm.dsb(i32 0)
+// CHECK-EABI: error: call to undeclared function '__dsb'
+
+void check__isb(void) {
+  __isb(0);
+}
+
+// CHECK-MSVC: @llvm.arm.isb(i32 0)
+// CHECK-EABI: error: call to undeclared function '__isb'
+
 __INT64_TYPE__ check__ldrexd(void) {
   __INT64_TYPE__ i64;
   return __ldrexd(&i64);

diff  --git 
a/clang/test/CodeGen/arm64-former-microsoft-intrinsics-header-warning.c 
b/clang/test/CodeGen/arm64-former-microsoft-intrinsics-header-warning.c
deleted file mode 100644
index 52fed49db4dd2..0000000000000
--- a/clang/test/CodeGen/arm64-former-microsoft-intrinsics-header-warning.c
+++ /dev/null
@@ -1,53 +0,0 @@
-// RUN: %clang_cc1 -triple arm64-windows -Wno-everything 
-Wimplicit-function-declaration -fms-compatibility -fsyntax-only -verify %s
-
-// RUN: %clang_cc1 -triple arm64-linux -Wno-everything 
-Wimplicit-function-declaration -fsyntax-only -verify %s
-
-// RUN: %clang_cc1 -triple arm64-darwin -Wno-everything 
-Wimplicit-function-declaration -fms-compatibility -fsyntax-only -verify %s
-
-void check__dmb(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __dmb(0);
-}
-
-void check__dsb(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __dsb(0);
-}
-
-void check__isb(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __isb(0);
-}
-
-void check__yield(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __yield();
-}
-
-void check__wfe(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __wfe();
-}
-
-void check__wfi(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __wfi();
-}
-
-void check__sev(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __sev();
-}
-
-void check__sevl(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __sevl();
-}

diff  --git a/clang/test/CodeGen/arm64-former-microsoft-intrinsics.c 
b/clang/test/CodeGen/arm64-former-microsoft-intrinsics.c
deleted file mode 100644
index f1d9af2c6d25e..0000000000000
--- a/clang/test/CodeGen/arm64-former-microsoft-intrinsics.c
+++ /dev/null
@@ -1,59 +0,0 @@
-// RUN: %clang_cc1 -triple arm64-windows -Wno-implicit-function-declaration 
-fms-compatibility -emit-llvm -o - %s \
-// RUN:    | FileCheck %s
-
-// RUN: %clang_cc1 -triple arm64-linux -Werror -emit-llvm -o - %s 2>&1 \
-// RUN:    | FileCheck %s
-
-// RUN: %clang_cc1 -triple arm64-darwin -Wno-implicit-function-declaration 
-fms-compatibility -emit-llvm -o - %s \
-// RUN:    | FileCheck %s
-
-#include <arm_acle.h>
-
-void check__dmb(void) {
-  __dmb(0);
-}
-
-// CHECK: @llvm.aarch64.dmb(i32 0)
-
-void check__dsb(void) {
-  __dsb(0);
-}
-
-// CHECK: @llvm.aarch64.dsb(i32 0)
-
-void check__isb(void) {
-  __isb(0);
-}
-
-// CHECK: @llvm.aarch64.isb(i32 0)
-
-void check__yield(void) {
-  __yield();
-}
-
-// CHECK: @llvm.aarch64.hint(i32 1)
-
-void check__wfe(void) {
-  __wfe();
-}
-
-// CHECK: @llvm.aarch64.hint(i32 2)
-
-void check__wfi(void) {
-  __wfi();
-}
-
-// CHECK: @llvm.aarch64.hint(i32 3)
-
-void check__sev(void) {
-  __sev();
-}
-
-// CHECK: @llvm.aarch64.hint(i32 4)
-
-void check__sevl(void) {
-  __sevl();
-}
-
-// CHECK: @llvm.aarch64.hint(i32 5)
-

diff  --git a/clang/test/CodeGen/arm64-microsoft-intrinsics.c 
b/clang/test/CodeGen/arm64-microsoft-intrinsics.c
index e18977a4559b1..74c6f2f79e632 100644
--- a/clang/test/CodeGen/arm64-microsoft-intrinsics.c
+++ b/clang/test/CodeGen/arm64-microsoft-intrinsics.c
@@ -35,6 +35,62 @@ __int64 test_InterlockedAdd64_constant(__int64 volatile 
*Addend) {
 // CHECK-MSVC: ret i64 %[[NEWVAL:[0-9]+]]
 // CHECK-LINUX: error: call to undeclared function '_InterlockedAdd64'
 
+void check__dmb(void) {
+  __dmb(0);
+}
+
+// CHECK-MSVC: @llvm.aarch64.dmb(i32 0)
+// CHECK-LINUX: error: call to undeclared function '__dmb'
+
+void check__dsb(void) {
+  __dsb(0);
+}
+
+// CHECK-MSVC: @llvm.aarch64.dsb(i32 0)
+// CHECK-LINUX: error: call to undeclared function '__dsb'
+
+void check__isb(void) {
+  __isb(0);
+}
+
+// CHECK-MSVC: @llvm.aarch64.isb(i32 0)
+// CHECK-LINUX: error: call to undeclared function '__isb'
+
+void check__yield(void) {
+  __yield();
+}
+
+// CHECK-MSVC: @llvm.aarch64.hint(i32 1)
+// CHECK-LINUX: error: call to undeclared function '__yield'
+
+void check__wfe(void) {
+  __wfe();
+}
+
+// CHECK-MSVC: @llvm.aarch64.hint(i32 2)
+// CHECK-LINUX: error: call to undeclared function '__wfe'
+
+void check__wfi(void) {
+  __wfi();
+}
+
+// CHECK-MSVC: @llvm.aarch64.hint(i32 3)
+// CHECK-LINUX: error: call to undeclared function '__wfi'
+
+void check__sev(void) {
+  __sev();
+}
+
+// CHECK-MSVC: @llvm.aarch64.hint(i32 4)
+// CHECK-LINUX: error: call to undeclared function '__sev'
+
+void check__sevl(void) {
+  __sevl();
+}
+
+// CHECK-MSVC: @llvm.aarch64.hint(i32 5)
+// CHECK-LINUX: error: call to undeclared function '__sevl'
+
 void check_ReadWriteBarrier(void) {
   _ReadWriteBarrier();
 }

diff  --git a/clang/test/CodeGen/builtins-arm-microsoft.c 
b/clang/test/CodeGen/builtins-arm-microsoft.c
index b2681197e33e0..841a8a500d533 100644
--- a/clang/test/CodeGen/builtins-arm-microsoft.c
+++ b/clang/test/CodeGen/builtins-arm-microsoft.c
@@ -4,40 +4,38 @@
 // RUN:     | FileCheck %s -check-prefix CHECK-EABI
 // REQUIRES: arm-registered-target
 
-#include <arm_acle.h>
-
 void test_yield_intrinsic() {
   __yield();
 }
 
 // CHECK-MSVC: call void @llvm.arm.hint(i32 1)
-// CHECK-EABI: call void @llvm.arm.hint(i32 1)
+// CHECK-EABI-NOT: call void @llvm.arm.hint(i32 1)
 
 void wfe() {
   __wfe();
 }
 
 // CHECK-MSVC: call {{.*}} @llvm.arm.hint(i32 2)
-// CHECK-EABI: call {{.*}} @llvm.arm.hint(i32 2)
+// CHECK-EABI-NOT: call {{.*}} @llvm.arm.hint(i32 2)
 
 void wfi() {
   __wfi();
 }
 
 // CHECK-MSVC: call {{.*}} @llvm.arm.hint(i32 3)
-// CHECK-EABI: call {{.*}} @llvm.arm.hint(i32 3)
+// CHECK-EABI-NOT: call {{.*}} @llvm.arm.hint(i32 3)
 
 void sev() {
   __sev();
 }
 
 // CHECK-MSVC: call {{.*}} @llvm.arm.hint(i32 4)
-// CHECK-EABI: call {{.*}} @llvm.arm.hint(i32 4)
+// CHECK-EABI-NOT: call {{.*}} @llvm.arm.hint(i32 4)
 
 void sevl() {
   __sevl();
 }
 
 // CHECK-MSVC: call {{.*}} @llvm.arm.hint(i32 5)
-// CHECK-EABI: call {{.*}} @llvm.arm.hint(i32 5)
+// CHECK-EABI-NOT: call {{.*}} @llvm.arm.hint(i32 5)
 

diff  --git a/clang/test/Headers/Inputs/include/stdint.h 
b/clang/test/Headers/Inputs/include/stdint.h
index eb09272b40c33..67b27b8dfc7b9 100644
--- a/clang/test/Headers/Inputs/include/stdint.h
+++ b/clang/test/Headers/Inputs/include/stdint.h
@@ -1,23 +1,11 @@
 #ifndef STDINT_H
 #define STDINT_H
 
-#ifdef __INT8_TYPE__
-typedef __INT8_TYPE__ int8_t;
-#endif
-typedef unsigned char uint8_t;
-
-#ifdef __INT16_TYPE__
-typedef __INT16_TYPE__ int16_t;
-typedef unsigned __INT16_TYPE__ uint16_t;
-#endif
-
 #ifdef __INT32_TYPE__
-typedef __INT32_TYPE__ int32_t;
 typedef unsigned __INT32_TYPE__ uint32_t;
 #endif
 
 #ifdef __INT64_TYPE__
-typedef __INT64_TYPE__ int64_t;
 typedef unsigned __INT64_TYPE__ uint64_t;
 #endif
 

diff  --git a/clang/test/Headers/ms-intrin.cpp 
b/clang/test/Headers/ms-intrin.cpp
index 985f8577c46bf..d630883e79d6a 100644
--- a/clang/test/Headers/ms-intrin.cpp
+++ b/clang/test/Headers/ms-intrin.cpp
@@ -36,10 +36,6 @@ typedef __SIZE_TYPE__ size_t;
 
 #include <intrin.h>
 
-#ifdef __ARM_ACLE
-#include <arm_acle.h>
-#endif
-
 // Use some C++ to make sure we closed the extern "C" brackets.
 template <typename T>
 void foo(T V) {}


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to