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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-07-08
                 CC|                            |kyukhin at gcc dot gnu.org
   Target Milestone|---                         |5.2
     Ever confirmed|0                           |1

--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
Following peephole2 is too broad:

(define_peephole2
  [(set (match_operand:SWI124 0 "nonimmediate_operand")
        (not:SWI124 (match_operand:SWI124 1 "nonimmediate_operand")))]
  "optimize_insn_for_speed_p ()
   && ((TARGET_NOT_UNPAIRABLE
        && (!MEM_P (operands[0])
            || !memory_displacement_operand (operands[0], <MODE>mode)))
       || (TARGET_NOT_VECTORMODE
           && long_memory_operand (operands[0], <MODE>mode)))
   && peep2_regno_dead_p (0, FLAGS_REG)"
  [(parallel [(set (match_dup 0)
                   (xor:SWI124 (match_dup 1) (const_int -1)))
              (clobber (reg:CC FLAGS_REG))])])

Needs additional GENERAL_REG_P predicates.

Probably several other peephole2 patterns need similar treatment.

CC AVX512F maintainer.

Reply via email to