[clang] [ARM] arm_acle.h add Coprocessor Instrinsics (PR #75440)

via cfe-commits cfe-commits at lists.llvm.org
Sat Dec 23 01:24:45 PST 2023


================
@@ -0,0 +1,346 @@
+// RUN: %clang_cc1 -triple armv4 %s -E -dD -o - | FileCheck --check-prefix=CHECK-V4 %s
+// RUN: %clang_cc1 -triple armv4t %s -E -dD -o - | FileCheck --check-prefix=CHECK-V4 %s
+// RUN: %clang_cc1 -triple armv5 %s -E -dD -o - | FileCheck --check-prefix=CHECK-V5 %s
+// RUN: %clang_cc1 -triple armv5te %s -E -dD -o - | FileCheck --check-prefix=CHECK-V5-TE %s
+// RUN: %clang_cc1 -triple armv5tej %s -E -dD -o - | FileCheck --check-prefix=CHECK-V5-TE %s
+// RUN: %clang_cc1 -triple armv6 %s -E -dD -o - | FileCheck --check-prefix=CHECK-V6 %s
+// RUN: %clang_cc1 -triple armv6m %s -E -dD -o - | FileCheck --check-prefix=CHECK-V6M %s
+// RUN: %clang_cc1 -triple armv7a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V7 %s
+// RUN: %clang_cc1 -triple armv7r %s -E -dD -o - | FileCheck --check-prefix=CHECK-V7 %s
+// RUN: %clang_cc1 -triple armv7m %s -E -dD -o - | FileCheck --check-prefix=CHECK-V7 %s
+// RUN: %clang_cc1 -triple armv8a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
+// RUN: %clang_cc1 -triple armv8r %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
+// RUN: %clang_cc1 -triple armv8.1a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
+// RUN: %clang_cc1 -triple armv8.2a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
+// RUN: %clang_cc1 -triple armv8.3a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
+// RUN: %clang_cc1 -triple armv8.4a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
+// RUN: %clang_cc1 -triple armv8.5a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
+// RUN: %clang_cc1 -triple thumbv4 %s -E -dD -o - | FileCheck --check-prefix=CHECK-V4-THUMB %s
+// RUN: %clang_cc1 -triple thumbv4t %s -E -dD -o - | FileCheck --check-prefix=CHECK-V4-THUMB %s
+// RUN: %clang_cc1 -triple thumbv5 %s -E -dD -o - | FileCheck --check-prefix=CHECK-V5-THUMB %s
+// RUN: %clang_cc1 -triple thumbv5te %s -E -dD -o - | FileCheck --check-prefix=CHECK-V5-TE-THUMB %s
+// RUN: %clang_cc1 -triple thumbv5tej %s -E -dD -o - | FileCheck --check-prefix=CHECK-V5-TE-THUMB %s
+// RUN: %clang_cc1 -triple thumbv6 %s -E -dD -o - | FileCheck --check-prefix=CHECK-V6-THUMB %s
+// RUN: %clang_cc1 -triple thumbv6k %s -E -dD -o - | FileCheck --check-prefix=CHECK-V6-THUMB %s
+// RUN: %clang_cc1 -triple thumbv6kz %s -E -dD -o - | FileCheck --check-prefix=CHECK-V6-THUMB %s
+// RUN: %clang_cc1 -triple thumbv6m %s -E -dD -o - | FileCheck --check-prefix=CHECK-V6M %s
+// RUN: %clang_cc1 -triple thumbv7a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V7 %s
+// RUN: %clang_cc1 -triple thumbv7r %s -E -dD -o - | FileCheck --check-prefix=CHECK-V7 %s
+// RUN: %clang_cc1 -triple thumbv7m %s -E -dD -o - | FileCheck --check-prefix=CHECK-V7 %s
+// RUN: %clang_cc1 -triple thumbv8a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
+// RUN: %clang_cc1 -triple thumbv8.1a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
+// RUN: %clang_cc1 -triple thumbv8.2a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
+// RUN: %clang_cc1 -triple thumbv8.3a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
+// RUN: %clang_cc1 -triple thumbv8.4a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
+// RUN: %clang_cc1 -triple thumbv8.5a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
+// RUN: %clang_cc1 -triple thumbv8r %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
+// RUN: %clang_cc1 -triple thumbv8m.base %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8-BASE %s
+// RUN: %clang_cc1 -triple thumbv8m.main %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8-MAIN %s
+
+#include <arm_acle.h>
+
+void cdp() {
+  __arm_cdp(1, 2, 3, 4, 5, 6);
+  // CHECK-V4: __builtin_arm_cdp
+  // CHECK-V4-THUMB-NOT: __builtin_arm_cdp
+  // CHECK-V5: __builtin_arm_cdp
+  // CHECK-V5-TE: __builtin_arm_cdp
+  // CHECK-V5-THUMB-NOT: __builtin_arm_cdp
+  // CHECK-V5-TE-THUMB-NOT: __builtin_arm_cdp
+  // CHECK-V6: __builtin_arm_cdp
+  // CHECK-V6-THUMB-NOT: __builtin_arm_cdp
+  // CHECK-V6M-NOT: __builtin_arm_cdp
+  // CHECK-V7: __builtin_arm_cdp
+  // CHECK-V8-NOT: __builtin_arm_cdp
+  // CHECK-V8-BASE-NOT: __builtin_arm_cdp
+  // CHECK-V8-MAIN: __builtin_arm_cdp
+}
+
+void cdp2() {
+  __arm_cdp2(1, 2, 3, 4, 5, 6);
+  // CHECK-V4-NOT: __builtin_arm_cdp2
+  // CHECK-V4-THUMB-NOT: __builtin_arm_cdp2
+  // CHECK-V5: __builtin_arm_cdp2
+  // CHECK-V5-TE: __builtin_arm_cdp2
+  // CHECK-V5-THUMB-NOT: __builtin_arm_cdp2
+  // CHECK-V5-TE-THUMB-NOT: __builtin_arm_cdp2
+  // CHECK-V6: __builtin_arm_cdp2
+  // CHECK-V6-THUMB-NOT: __builtin_arm_cdp2
+  // CHECK-V6M-NOT: __builtin_arm_cdp2
+  // CHECK-V7: __builtin_arm_cdp2
+  // CHECK-V8-NOT: __builtin_arm_cdp2
+  // CHECK-V8-BASE-NOT: __builtin_arm_cdp2
+  // CHECK-V8-MAIN: __builtin_arm_cdp2
+}
+
+void ldc(int i) {
+  __arm_ldc(1, 2, &i);
+  // CHECK-V4: __builtin_arm_ldc
----------------
hstk30-hw wrote:

plz check it, maybe a typo for V4-THUMB @davemgreen 

https://github.com/llvm/llvm-project/pull/75440


More information about the cfe-commits mailing list