qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 02/42] target-ppc: add helper macros for later patch


From: Nathan Froyd
Subject: [Qemu-devel] [PATCH 02/42] target-ppc: add helper macros for later patches.
Date: Sun, 14 Dec 2008 18:14:35 -0800

Signed-off-by: Nathan Froyd <address@hidden>
---
 target-ppc/op_helper.c |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/target-ppc/op_helper.c b/target-ppc/op_helper.c
index 2d665e8..c597632 100644
--- a/target-ppc/op_helper.c
+++ b/target-ppc/op_helper.c
@@ -2007,6 +2007,39 @@ target_ulong helper_dlmzb (target_ulong high, 
target_ulong low, uint32_t update_
 }
 
 /*****************************************************************************/
+/* Altivec extension helpers */
+#if defined(WORDS_BIGENDIAN)
+#define HI_IDX 0
+#define LO_IDX 1
+#else
+#define HI_IDX 1
+#define LO_IDX 0
+#endif
+
+#define N_ELEMS(element) (sizeof (r->element) / sizeof (r->element[0]))
+
+#define VECTOR_FOR(element)                     \
+  int i;                                        \
+  VECTOR_FOR_I(i, element)
+
+#define VECTOR_FOR_I(index, element)                                    \
+  for (index = 0; index < N_ELEMS(element); index++)
+
+#if defined(WORDS_BIGENDIAN)
+#define VECTOR_FOR_INORDER_I(index, element) VECTOR_FOR_I(index, element)
+#else
+#define VECTOR_FOR_INORDER_I(index, element)            \
+  for (index = N_ELEMS(element)-1; index >= 0; index--)
+#endif
+
+#undef VECTOR_FOR
+#undef VECTOR_FOR_I
+#undef VECTOR_FOR_INORDER_I
+#undef N_ELEMS
+#undef HI_IDX
+#undef LO_IDX
+
+/*****************************************************************************/
 /* SPE extension helpers */
 /* Use a table to make this quicker */
 static uint8_t hbrev[16] = {
-- 
1.6.0.5





reply via email to

[Prev in Thread] Current Thread [Next in Thread]