From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40873) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TtCFj-0003ZE-7l for qemu-devel@nongnu.org; Thu, 10 Jan 2013 02:08:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TtCFh-0008R8-Rk for qemu-devel@nongnu.org; Thu, 10 Jan 2013 02:08:39 -0500 Received: from hall.aurel32.net ([2001:470:1f15:c4f::1]:60010) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TtCFh-0008Q8-IK for qemu-devel@nongnu.org; Thu, 10 Jan 2013 02:08:37 -0500 Date: Thu, 10 Jan 2013 08:08:18 +0100 From: Aurelien Jarno Message-ID: <20130110070818.GA6400@ohm.aurel32.net> References: <1357745265-16084-1-git-send-email-aurelien@aurel32.net> <1357745265-16084-6-git-send-email-aurelien@aurel32.net> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [PATCH v2 5/8] target-mips: use DSP unions for binary DSP operators List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Blue Swirl Cc: qemu-devel@nongnu.org On Wed, Jan 09, 2013 at 09:16:29PM +0000, Blue Swirl wrote: > On Wed, Jan 9, 2013 at 3:27 PM, Aurelien Jarno wrote: > > This allow to reduce the number of macros. > > > > Signed-off-by: Aurelien Jarno > > --- > > target-mips/dsp_helper.c | 384 ++++++++++++++-------------------------------- > > 1 file changed, 116 insertions(+), 268 deletions(-) > > > > diff --git a/target-mips/dsp_helper.c b/target-mips/dsp_helper.c > > index aed4c63..e01c8a9 100644 > > --- a/target-mips/dsp_helper.c > > +++ b/target-mips/dsp_helper.c > > @@ -1078,7 +1078,6 @@ static inline int32_t mipsdsp_cmpu_lt(uint32_t a, uint32_t b) > > b = num & MIPSDSP_LO; \ > > } while (0) > > > > -#define MIPSDSP_RETURN32(a) ((target_long)(int32_t)a) > > #define MIPSDSP_RETURN32_8(a, b, c, d) ((target_long)(int32_t) \ > > (((uint32_t)a << 24) | \ > > (((uint32_t)b << 16) | \ > > @@ -1111,119 +1110,127 @@ static inline int32_t mipsdsp_cmpu_lt(uint32_t a, uint32_t b) > > #endif > > > > /** DSP Arithmetic Sub-class insns **/ > > -#define ARITH_PH(name, func) \ > > -target_ulong helper_##name##_ph(target_ulong rs, target_ulong rt) \ > > -{ \ > > - uint16_t rsh, rsl, rth, rtl, temph, templ; \ > > - \ > > - MIPSDSP_SPLIT32_16(rs, rsh, rsl); \ > > - MIPSDSP_SPLIT32_16(rt, rth, rtl); \ > > - \ > > - temph = mipsdsp_##func(rsh, rth); \ > > - templ = mipsdsp_##func(rsl, rtl); \ > > - \ > > - return MIPSDSP_RETURN32_16(temph, templ); \ > > -} > > - > > -#define ARITH_PH_ENV(name, func) \ > > -target_ulong helper_##name##_ph(target_ulong rs, target_ulong rt, \ > > - CPUMIPSState *env) \ > > -{ \ > > - uint16_t rsh, rsl, rth, rtl, temph, templ; \ > > - \ > > - MIPSDSP_SPLIT32_16(rs, rsh, rsl); \ > > - MIPSDSP_SPLIT32_16(rt, rth, rtl); \ > > - \ > > - temph = mipsdsp_##func(rsh, rth, env); \ > > - templ = mipsdsp_##func(rsl, rtl, env); \ > > - \ > > - return MIPSDSP_RETURN32_16(temph, templ); \ > > -} > > - > > - > > -ARITH_PH_ENV(addq, add_i16); > > -ARITH_PH_ENV(addq_s, sat_add_i16); > > -ARITH_PH_ENV(addu, add_u16); > > -ARITH_PH_ENV(addu_s, sat_add_u16); > > - > > -ARITH_PH(addqh, rshift1_add_q16); > > -ARITH_PH(addqh_r, rrshift1_add_q16); > > - > > -ARITH_PH_ENV(subq, sub_i16); > > -ARITH_PH_ENV(subq_s, sat16_sub); > > -ARITH_PH_ENV(subu, sub_u16_u16); > > -ARITH_PH_ENV(subu_s, satu16_sub_u16_u16); > > - > > -ARITH_PH(subqh, rshift1_sub_q16); > > -ARITH_PH(subqh_r, rrshift1_sub_q16); > > - > > -#undef ARITH_PH > > -#undef ARITH_PH_ENV > > +#define MIPSDSP32_BINOP(name, func, element) \ > > +target_ulong helper_##name(target_ulong rs, target_ulong rt) \ > > +{ \ > > + DSP32Value ds, dt; \ > > + unsigned int i, n; \ > > + \ > > + n = sizeof(DSP32Value) / sizeof(ds.element[0]); \ > > + ds.sw[0] = rs; \ > > + dt.sw[0] = rt; \ > > + \ > > + for (i = 0 ; i < n ; i++) { \ > > There's an extra space before ';', please remove. Also in the other > for loops below. It is not something I can find in CODING_STYLE, and it is also not caught by checkpatch.pl. -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net