This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: i386, m88k, and rs6000 (possibly others) dbra confusion


>>>>> John Wehle writes:

John> 1) REG_NONNEG means that operand 1 is always nonnegative in which
John> case the branch will * always * be taken.

John> 2) loop is documented by Intel as:

John> DEC count; jump short if count <> 0

John> which doesn't match the define_insn.

John> I can prepare a patch for the i386, however I'm not fluent
John> with the other machine descriptions (m88k and rs6000) which
John> also look suspect.

	The patterns are correct.  The branch will NOT always be taken
because the loop counter will reach zero.  Zero is not negative, so the
reg_note is correct.  I am not sure where you are getting confused.

David

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]