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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[13                         |[14
                   |regression][config/i386]    |regression][config/i386]
                   |GCC 14/trunk emits          |GCC 14/trunk emits
                   |VEX-prefixed AES            |VEX-prefixed AES
                   |instruction without AVX     |instruction without AVX
                   |enabled                     |enabled
   Target Milestone|---                         |14.0
           Keywords|                            |wrong-code

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(define_insn "aesenc"
  [(set (match_operand:V2DI 0 "register_operand" "=x,x,v")
        (unspec:V2DI [(match_operand:V2DI 1 "register_operand" "0,x,v")
                       (match_operand:V2DI 2 "vector_operand" "xja,xm,vm")]
                      UNSPEC_AESENC))]
  "TARGET_AES || (TARGET_VAES && TARGET_AVX512VL)"
  "@
   aesenc\t{%2, %0|%0, %2}
   vaesenc\t{%2, %1, %0|%0, %1, %2}
   vaesenc\t{%2, %1, %0|%0, %1, %2}"
  [(set_attr "isa" "noavx,aes,avx512vl")
   (set_attr "type" "sselog1")
   (set_attr "addr" "gpr16,*,*")
   (set_attr "prefix_extra" "1")
   (set_attr "prefix" "orig,vex,evex")
   (set_attr "btver2_decode" "double,double,double")
   (set_attr "mode" "TI")])

r14-104-g24a8acc1662c37

    Also, since -mvaes indicates that we could use VEX encoding for ymm, we
    should imply AVX for VAES.

Reply via email to