Message ID | 20190810041255.6820-15-jan.bobek@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | rewrite MMX/SSE instruction translation | expand |
On 8/10/19 5:12 AM, Jan Bobek wrote: > It is helpful to introduce aliases for some general gvec operations as > it makes a couple of instruction code generators simpler (added > later). > > Signed-off-by: Jan Bobek <jan.bobek@gmail.com> > --- > target/i386/translate.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/target/i386/translate.c b/target/i386/translate.c > index 23550a21d3..03b49411e5 100644 > --- a/target/i386/translate.c > +++ b/target/i386/translate.c > @@ -4493,6 +4493,13 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b) > #pragma GCC diagnostic push > #pragma GCC diagnostic ignored "-Wunused-function" > > +#define tcg_gen_gvec_andn(vece, dofs, aofs, bofs, oprsz, maxsz) \ > + tcg_gen_gvec_andc(vece, dofs, bofs, aofs, oprsz, maxsz) > +#define tcg_gen_gvec_cmpeq(vece, dofs, aofs, bofs, oprsz, maxsz) \ > + tcg_gen_gvec_cmp(TCG_COND_EQ, vece, dofs, aofs, bofs, oprsz, maxsz) > +#define tcg_gen_gvec_cmpgt(vece, dofs, aofs, bofs, oprsz, maxsz) \ > + tcg_gen_gvec_cmp(TCG_COND_GT, vece, dofs, aofs, bofs, oprsz, maxsz) > + > static void gen_sse_ng(CPUX86State *env, DisasContext *s, int b) > { > enum { > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
diff --git a/target/i386/translate.c b/target/i386/translate.c index 23550a21d3..03b49411e5 100644 --- a/target/i386/translate.c +++ b/target/i386/translate.c @@ -4493,6 +4493,13 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-function" +#define tcg_gen_gvec_andn(vece, dofs, aofs, bofs, oprsz, maxsz) \ + tcg_gen_gvec_andc(vece, dofs, bofs, aofs, oprsz, maxsz) +#define tcg_gen_gvec_cmpeq(vece, dofs, aofs, bofs, oprsz, maxsz) \ + tcg_gen_gvec_cmp(TCG_COND_EQ, vece, dofs, aofs, bofs, oprsz, maxsz) +#define tcg_gen_gvec_cmpgt(vece, dofs, aofs, bofs, oprsz, maxsz) \ + tcg_gen_gvec_cmp(TCG_COND_GT, vece, dofs, aofs, bofs, oprsz, maxsz) + static void gen_sse_ng(CPUX86State *env, DisasContext *s, int b) { enum {
It is helpful to introduce aliases for some general gvec operations as it makes a couple of instruction code generators simpler (added later). Signed-off-by: Jan Bobek <jan.bobek@gmail.com> --- target/i386/translate.c | 7 +++++++ 1 file changed, 7 insertions(+)