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