On 27.02.19 17:20, Richard Henderson wrote:
> On 2/26/19 3:39 AM, David Hildenbrand wrote:
>> +for (dst_idx = 0; dst_idx < NUM_VEC_ELEMENTS(es); dst_idx++) {
>> +src_idx = dst_idx / 2;
>> +if (!high) {
>> +src_idx += NUM_VEC_ELEMENTS(es) / 2;
>> +}
>> +
On 2/26/19 3:39 AM, David Hildenbrand wrote:
> +for (dst_idx = 0; dst_idx < NUM_VEC_ELEMENTS(es); dst_idx++) {
> +src_idx = dst_idx / 2;
> +if (!high) {
> +src_idx += NUM_VEC_ELEMENTS(es) / 2;
> +}
> +if (dst_idx % 2 == 0) {
> +
On 2/26/19 3:39 AM, David Hildenbrand wrote:
> We cannot use gvec expansion as source and destination elements are
> have different element numbers. So we'll expand using a fancy loop.
> Also, we have to take care of overlapping source and target registers and
> use a temporary register in case
We cannot use gvec expansion as source and destination elements are
have different element numbers. So we'll expand using a fancy loop.
Also, we have to take care of overlapping source and target registers and
use a temporary register in case they do.
Signed-off-by: David Hildenbrand
---