[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 02/40] Add helper macros for later patches.
From: |
Nathan Froyd |
Subject: |
[Qemu-devel] [PATCH 02/40] Add helper macros for later patches. |
Date: |
Tue, 30 Dec 2008 19:09:44 -0800 |
Remove N_ELEMS, VECTOR_FOR, and VECTOR_FOR_I macros. Retain the
VECTOR_FOR_INORDER_I macros as the clearest way of expressing the intent
of iterating over elements in their stored target-endian order.
Signed-off-by: Nathan Froyd <address@hidden>
---
target-ppc/op_helper.c | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/target-ppc/op_helper.c b/target-ppc/op_helper.c
index 876b517..5d603ba 100644
--- a/target-ppc/op_helper.c
+++ b/target-ppc/op_helper.c
@@ -1954,6 +1954,28 @@ 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
+
+#if defined(WORDS_BIGENDIAN)
+#define VECTOR_FOR_INORDER_I(index, element) \
+ for (index = 0; index < ARRAY_SIZE(r->element); index++)
+#else
+#define VECTOR_FOR_INORDER_I(index, element) \
+ for (index = ARRAY_SIZE(r->element)-1; index >= 0; index--)
+#endif
+
+#undef VECTOR_FOR_INORDER_I
+#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
- [Qemu-devel] [PATCH 09/40] Add vscr access macros., (continued)
- [Qemu-devel] [PATCH 09/40] Add vscr access macros., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 15/40] Add v{add,sub}cuw instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 20/40] Add vs{l,r} instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 25/40] Add vsplt{b,h,w} instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 37/40] Add vmsumsh{m,s} instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 31/40] Add vsel and vperm instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 04/40] Add v{add,sub}u{b,h,w}m instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 10/40] Add vmrg{l,h}{b,h,w} instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 12/40] Add vsr{,a}{b,h,w} instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 29/40] Add GEN_VAFORM_PAIRED macro for subsequent instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 02/40] Add helper macros for later patches.,
Nathan Froyd <=
- [Qemu-devel] [PATCH 11/40] Add vmul{e,o}{s,u}{b,h} instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 16/40] Add lvs{l,r} instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 22/40] Add GEN_VXFORM_SIMM macro for subsequent instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 39/40] Add {l,st}ve{b,h,w}x instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 01/40] Fix TCG error in gen_avr_ptr., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 18/40] Add v{add, sub}{s, u}{b, h, w}s instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 27/40] Add vupk{h,l}px instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 28/40] Add vupk{h,l}s{b,h} instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 40/40] Add vsumsws, vsum2sws, and vsum4{sbs, shs, ubs} instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 36/40] Add vmsumuh{m,s} instructions., Nathan Froyd, 2008/12/30