[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: |
Richard Henderson |
Subject: |
Re: [PATCH v3 3/3] target/arm: Use clear_vec_high more effectively |
Date: |
Tue, 5 May 2020 07:22:00 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 |
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.
r~