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~

Reply via email to