------- Comment #3 from ramana at gcc dot gnu dot org 2009-12-22 20:26 ------- (In reply to comment #1) > The only reason for keeping the old predication-based code is that it can > handle an important case that the generic code cannot. Specifically, it can > conditionally skip a call to a function: this is not normally predicable since > it clobbers the instruction codes. However, the arm-specific code knows that > it is safe to do this iff the call instruction is the last instruction in the > predicated sequence. >
http://gcc.gnu.org/ml/gcc/2009-08/msg00154.html for a thread on the issues with turning this off for ARM and conditional calls. > If the MI code could be made to handle cases where the predicate register was > clobbered by the last predicable instruction, then the need to keep the > existing MD code could disappear in a puff of smoke. > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28872