On 6/3/19 2:41 PM, David Hildenbrand wrote:
>> -static void gen_sel_vec(unsigned vece, TCGv_vec d, TCGv_vec a, TCGv_vec b,
>> - TCGv_vec c)
>> -{
>> - TCGv_vec t = tcg_temp_new_vec_matching(d);
>> -
>> - tcg_gen_andc_vec(vece, t, b, c);
>> - tcg_gen_and_vec(vece, d, a, c);
>> - tcg_gen_or_vec(vece, d, d, t);
>> - tcg_temp_free_vec(t);
>> -}
>> -
>
> Comparing against tcg_gen_bitsel_i64()
>
> 1. a and c are switched
> 2. b is _not_ switched (and() and andc() are switched)
Not quite. {a,b,c} from your s390 implementation becomes {c,a,b} for tcg.
Running tests would show for sure; I guess you have those later in your vx
patch set?
> Should I send this patch with the next s390x/tcg pull request?
Yes please.
r~