[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 3/3] target/arm: Use clear_vec_high more effectively
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v3 3/3] target/arm: Use clear_vec_high more effectively |
Date: |
Fri, 8 May 2020 20:45:24 +0200 |
On Tue, May 5, 2020 at 4:22 PM Richard Henderson
<address@hidden> wrote:
>
> On 5/4/20 11:09 PM, Philippe Mathieu-Daudé wrote:
> >> @@ -7111,7 +7121,7 @@ static void disas_simd_zip_trn
> >> }
> >> tcg_resl = tcg_const_i64(0);
> >> - tcg_resh = tcg_const_i64(0);
> >> + tcg_resh = is_q ? tcg_const_i64(0) : NULL;
> >> tcg_res = tcg_temp_new_i64();
> >> for (i = 0; i < elements; i++) {
> >> @@ -7162,9 +7172,12 @@ static void disas_simd_zip_trn(DisasContext *s,
> >> uint32_t insn)
> >
> > More context:
> >
> > ...
> > ofs = i * esize;
> > if (ofs < 64) {
> > tcg_gen_shli_i64(tcg_res, tcg_res, ofs);
> > tcg_gen_or_i64(tcg_resl, tcg_resl, tcg_res);
> > } else {
> > tcg_gen_shli_i64(tcg_res, tcg_res, ofs - 64);
> > tcg_gen_or_i64(tcg_resh, tcg_resh, tcg_res);
> >
> > here ^^^^^^^^ tcg_resh is NULL too.
> >
> > }
> > }
>
> When is_q is false, the vector length is 64. Thus that line is not reachable.
OK.
>
>
> r~