Messages in this thread | | | Date | Tue, 27 Jan 1998 09:10:03 +0100 | From | Hans-Joachim Widmaier <> | Subject | Re: kernel and egcs |
| |
Michael Elizabeth Chastain: > The code in question looks like this: > > /* include/asm-i386/string.h */ > switch (n % 4) { > case 0: COMMON(""); return to; > case 1: COMMON("\n\tmovsb"); return to; > case 2: COMMON("\n\tmovsw"); return to; > case 3: COMMON("\n\tmovsw\n\tmovsb"); return to; > } > > The compiler isn't smart enough to figure out that one of the cases > is always taken.
Why not tell it that one is always taken?
switch (n % 4) { case 0: COMMON(""); return to; case 1: COMMON("\n\tmovsb"); return to; case 2: COMMON("\n\tmovsw"); return to; default: COMMON("\n\tmovsw\n\tmovsb"); return to; }
Hans-Joachim Widmaier
| |