On 2/25/20 4:25 PM, Segher Boessenkool wrote:
> Well, you now get an extra mask instruction (rldicr for example) as well,
> right? While that mask usually isn't needed.
I believe the mask is implicit by the pattern used by the vec_st()
builtin, which normally gets mapped to the Altivec stvx insn, so
when we use the d-form stxv insn, we have to make explicit that
and:.
I still think using vec_st() or any of the other vector store
builtins is less preferable than just dereferencing a pointer.
>> -/* { dg-final { scan-assembler-times {\mstvx\M} 14 } } */
>> +/* { dg-final { scan-assembler-times {\mstvx|stxv\M} 14 } } */
>
> That checks if either the string
> \mstvx
> or the string
> stxv\M
Oops, good catch.
> You want
> {\m(stvx|stxv)\M}
Is the patch ok with this variant? I think this is more readable to
me than the other variants you gave...at least to me. :-)
Peter