Thanks Oleg, fixed. here is the patch (in case if cvs is not updated yet) cheers, ~d
Index: msp430.c =================================================================== RCS file: /cvsroot/mspgcc/gcc/gcc-3.3/gcc/config/msp430/msp430.c,v retrieving revision 1.78 diff -c -3 -p -r1.78 msp430.c *** msp430.c 27 Nov 2003 11:18:41 -0000 1.78 --- msp430.c 19 Jan 2004 15:41:30 -0000 *************** emit_indexed_arith (insn, operands, m, c *** 3008,3013 **** --- 3008,3014 ---- } if (followed_compare_condition (insn) != UNKNOWN + || GET_CODE(insn) == JUMP_INSN || (pattern && GET_CODE (pattern) == SET && SET_DEST (pattern) == cc0_rtx) On Monday 19 January 2004 18:18, Oleg Skydan wrote: > Hi, All ! > > It looks like I have found a bug. > > Here is an extract from the source (for more see attachment): > > uint32_t CalcStepTime(uint8_t s) > { > uint32_t n=0; > long a; > FeedAcc-=48000L*2560; > if(breaking) > { > a=-MaxdV; > } > else if(Feed<cframe.Feed) > { > a=MaxdV; > } > else a=0; > do > { > Feed+=a; > if(a>0 && Feed>=cframe.Feed)a=0; > if(Feed<0){ Feed=0; return n; } > n++; > }while(Add(Feed,FeedAcc)>=0); > return n; > } > > > > And here is a piece of listing: > > 56:bug.c **** if(a>0 && Feed>=cframe.Feed)a=0; > GAS LISTING C:\DOCUME~1\9335~1\LOCALS~1\Temp/ccEdbaaa.s page 5 > > > 172 .stabn 68,0,56,.LM8-CalcStepTime > 173 .LM8: > 174 0040 0C4A mov r10, r12 > 175 0042 0D4B mov r11, r13 > 176 0044 1C83 sub #llo(1), r12 > 177 0046 0D73 subc #lhi(1), r13 > 178 0048 0638 jl .L9 > 179 004a 3E87 sub @r7+, r14 > 180 004c 3F77 subc @r7+, r15 > 181 004e 2782 sub #4, r7 ; restore r7 <<restoring r7 in a such > way will destroy comparison result !!!!!!! > 182 0050 0228 jlo .L9 > 183 0052 0A43 mov #llo(0), r10 > 184 0054 0B43 mov #lhi(0), r11 > 185 .L9: > > I used my own build from the CVS sources from 31.12.03. > > All the best ! > Bye. -- /***************************************************************** ("`-''-/").___..--''"`-._ (\ Dimmy the Wild UA1ACZ `6_ 6 ) `-. ( ).`-.__.`) State Polytechnical Univ. (_Y_.)' ._ ) `._ `. ``-..-' Radio-Physics Departament _..`--'_..-_/ /--'_.' ,' Saint Petersburg, Russia (il),-'' (li),' ((!.-' +7 (812) 5403923, 5585314 *****************************************************************/