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

            Bug ID: 104978
           Summary: [avx512fp16] wrong code for _mm_mask_fcmadd_round_sch
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: crazylht at gmail dot com
  Target Milestone: ---

#include<immintrin.h>
__m128h
foo (__m128h a, __m128h b, __m128h c, __mmask8 m)
{ 
    return _mm_mask_fcmadd_round_sch (a, m, b, c, 8);
}


_Z3fooDv8_DF16_S_S_h:
        kmovd   k1, edi
        vfcmaddcsh      xmm2{k1}, xmm0, xmm1, {rn-sae}
        vmovaps xmm0{k1}, xmm2
        ret

k1 must & 1 before vmovaps xmm0{k1}, xmm2.

Reply via email to