Index: crosstest/test_calling_conv.h |
diff --git a/crosstest/test_calling_conv.h b/crosstest/test_calling_conv.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5696a0efcd3bf2402218d24c33f55b5613daec6c |
--- /dev/null |
+++ b/crosstest/test_calling_conv.h |
@@ -0,0 +1,69 @@ |
+//===- subzero/crosstest/test_calling_conv.h - Test prototypes --*- C++ -*-===// |
+// |
+// The Subzero Code Generator |
+// |
+// This file is distributed under the University of Illinois Open Source |
+// License. See LICENSE.TXT for details. |
+// |
+//===----------------------------------------------------------------------===// |
+// |
+// This file declares the function prototypes for crosstesting the calling |
+// convention |
Jim Stichnoth
2014/08/05 18:09:26
Period at the end of the sentence?
wala
2014/08/05 23:57:02
Done.
|
+// |
+//===----------------------------------------------------------------------===// |
+ |
+#ifndef TEST_CALLING_CONV_H |
+#define TEST_CALLING_CONV_H |
+ |
+#include "test_calling_conv.def" |
Jim Stichnoth
2014/08/05 18:09:26
I think you forgot to "git add" this file.
wala
2014/08/05 23:57:02
Woops, done.
|
+ |
+#include <stdint.h> |
+ |
+typedef int v4si32 __attribute__((vector_size(16))); |
Jim Stichnoth
2014/08/05 18:09:26
Consider #including vectors.h instead?
wala
2014/08/05 23:57:02
Done.
|
+typedef float v4f32 __attribute__((vector_size(16))); |
+ |
+#ifdef __cplusplus |
+extern "C" { |
+#endif |
+ |
+typedef void (*CalleePtrTy)(void); |
+extern CalleePtrTy Callee; |
+extern size_t DynAllocaSize; |
+extern size_t ArgNum; |
+extern char *Buf; |
+ |
+void fakeUse(void *); |
+ |
+void caller_i(void); |
+void caller_alloca_16_i(void); |
+void caller_alloca_17_i(void); |
+void caller_alloca_vla_i(void); |
+void Subzero_caller_i(void); |
+void Subzero_caller_alloca_16_i(void); |
+void Subzero_caller_alloca_17_i(void); |
+void Subzero_caller_alloca_vla_i(void); |
+ |
+typedef void callee_i_Ty(int); |
+callee_i_Ty callee_i, Subzero_callee_i; |
+callee_i_Ty callee_alloca_16_i, Subzero_callee_alloca_16_i; |
+callee_i_Ty callee_alloca_17_i, Subzero_callee_alloca_17_i; |
+callee_i_Ty callee_alloca_vla_i, Subzero_callee_alloca_vla_i; |
+ |
+void caller_vvvvv(void); |
+void Subzero_caller_vvvvv(void); |
+ |
+typedef void (callee_vvvvv_Ty)(v4si32, v4si32, v4si32, v4si32, v4si32); |
+callee_vvvvv_Ty callee_vvvvv, Subzero_callee_vvvvv; |
+ |
+void caller_vlvlvfvdviv(void); |
+void Subzero_caller_vlvlvfvdviv(void); |
+ |
+typedef void(callee_vlvlvfvdviv_Ty)(v4f32, int64_t, v4f32, int64_t, v4f32, |
+ float, v4f32, double, v4f32, int, v4f32); |
+callee_vlvlvfvdviv_Ty callee_vlvlvfvdviv, Subzero_callee_vlvlvfvdviv; |
+ |
+#ifdef __cplusplus |
+} |
+#endif |
+ |
+#endif // TEST_CALLING_CONV_H |