Message ID | 1386770856-6304-1-git-send-email-aurelien@aurel32.net |
---|---|
State | New |
Headers | show |
On 12/11/2013 06:07 AM, Aurelien Jarno wrote: > Cc: Richard Henderson <rth@twiddle.net> > Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> > --- > tcg/tcg.h | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/tcg/tcg.h b/tcg/tcg.h > index 0d9bd29..c83d625 100644 > --- a/tcg/tcg.h > +++ b/tcg/tcg.h > @@ -230,20 +230,26 @@ typedef enum TCGMemOp { > MO_SL = MO_SIGN | MO_32, > MO_Q = MO_64, > > + MO_LEUB = MO_LE | MO_UB, > MO_LEUW = MO_LE | MO_UW, > MO_LEUL = MO_LE | MO_UL, > + MO_LESB = MO_LE | MO_SB, > MO_LESW = MO_LE | MO_SW, > MO_LESL = MO_LE | MO_SL, > MO_LEQ = MO_LE | MO_Q, > If you insist, for token pasting usage. So far I've been using just MO_UB and MO_SB for in situations where we want a 1-byte memory op, without the XE prefix, since the endianness doesn't matter. r~
On Wed, Dec 11, 2013 at 11:07:20AM -0800, Richard Henderson wrote: > On 12/11/2013 06:07 AM, Aurelien Jarno wrote: > > Cc: Richard Henderson <rth@twiddle.net> > > Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> > > --- > > tcg/tcg.h | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/tcg/tcg.h b/tcg/tcg.h > > index 0d9bd29..c83d625 100644 > > --- a/tcg/tcg.h > > +++ b/tcg/tcg.h > > @@ -230,20 +230,26 @@ typedef enum TCGMemOp { > > MO_SL = MO_SIGN | MO_32, > > MO_Q = MO_64, > > > > + MO_LEUB = MO_LE | MO_UB, > > MO_LEUW = MO_LE | MO_UW, > > MO_LEUL = MO_LE | MO_UL, > > + MO_LESB = MO_LE | MO_SB, > > MO_LESW = MO_LE | MO_SW, > > MO_LESL = MO_LE | MO_SL, > > MO_LEQ = MO_LE | MO_Q, > > > > If you insist, for token pasting usage. So far I've been using just MO_UB and > MO_SB for in situations where we want a 1-byte memory op, without the XE > prefix, since the endianness doesn't matter. Indeed adding this is useless. That said a common problem with this short MO aliases is that there is no consistency in the naming, on one side with the endianness for bytes, and on the other side with the signedness for quad words. The same way, if we wan to use MO aliases for the stores, we end-up specifying a useless endianness. Anyway I'll drop that for now and submit a new version of the MIPS patch.
diff --git a/tcg/tcg.h b/tcg/tcg.h index 0d9bd29..c83d625 100644 --- a/tcg/tcg.h +++ b/tcg/tcg.h @@ -230,20 +230,26 @@ typedef enum TCGMemOp { MO_SL = MO_SIGN | MO_32, MO_Q = MO_64, + MO_LEUB = MO_LE | MO_UB, MO_LEUW = MO_LE | MO_UW, MO_LEUL = MO_LE | MO_UL, + MO_LESB = MO_LE | MO_SB, MO_LESW = MO_LE | MO_SW, MO_LESL = MO_LE | MO_SL, MO_LEQ = MO_LE | MO_Q, + MO_BEUB = MO_BE | MO_UB, MO_BEUW = MO_BE | MO_UW, MO_BEUL = MO_BE | MO_UL, + MO_BESB = MO_BE | MO_SB, MO_BESW = MO_BE | MO_SW, MO_BESL = MO_BE | MO_SL, MO_BEQ = MO_BE | MO_Q, + MO_TEUB = MO_TE | MO_UB, MO_TEUW = MO_TE | MO_UW, MO_TEUL = MO_TE | MO_UL, + MO_TESB = MO_TE | MO_SB, MO_TESW = MO_TE | MO_SW, MO_TESL = MO_TE | MO_SL, MO_TEQ = MO_TE | MO_Q,
Cc: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> --- tcg/tcg.h | 6 ++++++ 1 file changed, 6 insertions(+)