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

Filip Kastl <pheeck at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #8 from Filip Kastl <pheeck at gcc dot gnu.org> ---
All the graphs went back to the original values or better.  Also, the testcases
from Hongtao Liu look ok now: https://godbolt.org/z/dMcYb1Th4

typedef float v4sf __attribute__((vector_size(16)));
v4sf fab00 (float a, float b) { return (v4sf){a,b,0,0}; }
v4sf fm0m0 (float* a, float* b) { return (v4sf) { *a, 0, *b, 0};}

->

"fab00":
        unpcklps        xmm0, xmm1
        xorps   xmm1, xmm1
        movlhps xmm0, xmm1
        ret
"fm0m0":
        movss   xmm0, DWORD PTR [rdi]
        movss   xmm1, DWORD PTR [rsi]
        movlhps xmm0, xmm1
        ret


Thus, I'm closing this.  Thanks, Roger and Hongtao.

Reply via email to