Re: [Qemu-devel] [PATCH v1 2/5] s390x/tcg: Implement VECTOR FIND ELEMENT EQUAL

2019-05-20 Thread David Hildenbrand
On 17.05.19 19:42, Richard Henderson wrote: > On 5/17/19 9:47 AM, Richard Henderson wrote: >> first_equal = n; >> first_zero = n; >> for (i = n - 1; i >= 0; --i) { >> if (data1 == data2) { >> first_equal = i; >> } >> if (data1 == 0) { >> f

Re: [Qemu-devel] [PATCH v1 2/5] s390x/tcg: Implement VECTOR FIND ELEMENT EQUAL

2019-05-17 Thread Richard Henderson
On 5/17/19 9:47 AM, Richard Henderson wrote: > first_equal = n; > first_zero = n; > for (i = n - 1; i >= 0; --i) { > if (data1 == data2) { > first_equal = i; > } > if (data1 == 0) { > first_zero = i; > } > } > > // As an aside

Re: [Qemu-devel] [PATCH v1 2/5] s390x/tcg: Implement VECTOR FIND ELEMENT EQUAL

2019-05-17 Thread Richard Henderson
On 5/15/19 1:31 PM, David Hildenbrand wrote: > +#define DEF_VFEE(BITS) > Same comment wrt inline functions applies. Here, because there's one result, writing to byte 7, I wonder if it isn't clearer to write the loop first_equal = n;

[Qemu-devel] [PATCH v1 2/5] s390x/tcg: Implement VECTOR FIND ELEMENT EQUAL

2019-05-15 Thread David Hildenbrand
Implement it similar to VECTOR FIND ANY ELEMENT EQUAL. The zero-check seems to have precedence in case we have "data1 == data2 == 0". The description in the PoP is a little bi confusing. Signed-off-by: David Hildenbrand --- target/s390x/helper.h| 6 target/s390x/insn-data.def