https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100581

--- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Alex Coplan from comment #1)
> Is it valid to create a vector type with total size less than the element
> size? Shouldn't this be rejected?

No, the generated code is:

        vmovq   ff_b(%rip), %xmm0
        vmovq   ff_a(%rip), %xmm1
        vmovq   bf(%rip), %xmm2
        vcmpltps        %xmm1, %xmm0, %xmm1
        vmovq   af(%rip), %xmm0
        vpcmov  %xmm1, %xmm2, %xmm0, %xmm0
        ret

Using vmovq ensures that zero is loaded to the top two elements of xmm reg.

Reply via email to