This completes all ACLE hint intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216453
91177308-0d34-0410-b5e6-
96231b3b80d8
}
#endif
+#if __ARM_32BIT_STATE
+#define __dbg(t) __builtin_arm_dbg(t)
+#endif
+
/* 8.5 Swap */
static __inline__ uint32_t __attribute__((always_inline, nodebug))
__swp(uint32_t x, volatile uint32_t *p) {
__sevl();
}
+#if __ARM_32BIT_STATE
+// AArch32-LABEL: test_dbg
+// AArch32: call void @llvm.arm.dbg(i32 0)
+void test_dbg(void) {
+ __dbg(0);
+}
+#endif
+
/* 8.5 Swap */
// ARM-LABEL: test_swp
// AArch32: call i32 @llvm.arm.ldrex
void test_pldx_const_diag(int32_t i) {
__pldx(i, 0, 0, 0); // expected-error-re {{argument to {{.*}} must be a constant integer}}
}
+
+/*
+ * DBG intrinsic
+ * First argument for DBG intrinsic must be compile-time constant,
+ * otherwise an error should be raised.
+ */
+void test_dbg_const_diag(unsigned int t) {
+ __dbg(t); // expected-error-re {{argument to {{.*}} must be a constant integer}}
+}