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

--- Comment #4 from Hongtao.liu <crazylht at gmail dot com> ---
(In reply to Andrew Pinski from comment #2)
> This is really poor with -mavx512f even. We should be able to do it like
(define_expand "vashr<mode>3"
  [(set (match_operand:VI12_128 0 "register_operand")
        (ashiftrt:VI12_128
          (match_operand:VI12_128 1 "register_operand")
          (match_operand:VI12_128 2 "nonimmediate_operand")))]
  "TARGET_XOP || (TARGET_AVX512BW && TARGET_AVX512VL)"

We can relax condition it to TARGET_AVX512F and use do things like
ix86_expand_vecop_qihi, but with qisi.

Reply via email to