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.