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

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2020-06-04
     Ever confirmed|0                           |1

--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> ---
Something is wrong with the handling of:

(define_expand "vec_pack_trunc_<mode>"
  [(set (match_operand:<DOUBLEMASKMODE> 0 "register_operand")
        (ior:<DOUBLEMASKMODE>
          (ashift:<DOUBLEMASKMODE>
            (zero_extend:<DOUBLEMASKMODE>
              (match_operand:SWI24 2 "register_operand"))
            (match_dup 3))
          (zero_extend:<DOUBLEMASKMODE>
            (match_operand:SWI24 1 "register_operand"))))]
  "TARGET_AVX512BW"
{
  operands[3] = GEN_INT (GET_MODE_BITSIZE (<MODE>mode));
})

Disabling this expander "fixes" the testcase.

"-O2 -mavx512bw" is needed.

Reply via email to