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

--- Comment #26 from Uroš Bizjak <ubizjak at gmail dot com> ---
The testcase now compiles with -O2 -mf16c to:

        vpxor   %xmm2, %xmm2, %xmm2
        vpblendw        $1, %xmm0, %xmm2, %xmm0
        vpblendw        $1, %xmm1, %xmm2, %xmm1
        vcvtph2ps       %xmm1, %xmm1
        vcvtph2ps       %xmm0, %xmm0
        vaddss  %xmm1, %xmm0, %xmm0
        vinsertps       $0xe, %xmm0, %xmm0, %xmm0
        vcvtps2ph       $4, %xmm0, %xmm0
        ret

for 64-bit targets and:

        vpxor   %xmm2, %xmm2, %xmm2
        vpinsrw $0, 4(%esp), %xmm2, %xmm0
        vpinsrw $0, 8(%esp), %xmm2, %xmm1
        vcvtph2ps       %xmm0, %xmm0
        vcvtph2ps       %xmm1, %xmm1
        vaddss  %xmm1, %xmm0, %xmm0
        vinsertps       $0xe, %xmm0, %xmm0, %xmm0
        vcvtps2ph       $4, %xmm0, %xmm0
        ret

for 32-bit targets.

Fixed.

Reply via email to