http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57278

Steven Bosscher <steven at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
                 CC|                            |steven at gcc dot gnu.org
         Resolution|---                         |INVALID

--- Comment #2 from Steven Bosscher <steven at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #1)
> I don't think  -fno-if-conversion and -fno-if-conversion2 are designed to
> turn off all predicated instructions.

Correct.  There are instruction patterns that automatically expand to 
predicated instructions, see e.g. some of the define_insn_and_split 
and define_split cases in arm.md like this one:

(define_split
  [(set (match_operand:SI 0 "s_register_operand" "")
        (eq:SI (match_operand:SI 1 "s_register_operand" "")
               (const_int 0)))
   (clobber (reg:CC CC_REGNUM))]
  "..."
  [(parallel
    [(set (reg:CC CC_REGNUM)
          (compare:CC (const_int 1) (match_dup 1)))
     (set (match_dup 0)
          (minus:SI (const_int 1) (match_dup 1)))])
   (cond_exec (ltu:CC (reg:CC CC_REGNUM) (const_int 0))
              (set (match_dup 0) (const_int 0)))])

There is no option at the moment to disable all predicated instructions.

Reply via email to