From: hlu@phys1.physics.wsu.edu (Hongjiu Lu) Newsgroups: comp.os.linux Subject: 486 and Linux, Please Read This Date: 9 Jun 92 21:56:05 GMT Organization: Washington State University If you use 486, please add -m486 in all the CFLAGS of Makefiles of the kernel. This may make a difference. H.J.
Newsgroups: comp.os.linux From: bjl@pttrnl.nl (Ben Lippolt) Subject: Re: 486 and Linux, Please Read This Nntp-Posting-Host: nanna Reply-To: B.J.Lippolt@research.ptt.nl Organization: PTT Research Date: Wed, 10 Jun 1992 10:58:11 GMT hlu@phys1.physics.wsu.edu (Hongjiu Lu) writes: >If you use 486, please add -m486 in all the CFLAGS of Makefiles of the kernel. >This may make a difference. >H.J. In what way? And how about other applications? Is -m486 useful in general? I also saw someone mentioning the -N option for "ld". I noticed that small programs without this option are usually 9120 bytes long, but with this option they can be as small as 1-2K. I understood that programs linked with -N use more memory (right?). So I figured that small programs which I don't use that often (ie. don't keep them in memory all the time) could better be linked with -N. This could save a considerable amount of disk space, but the penalty for more memory usage wouldn't be too severe (because I run them only occasionally). Is this a reasonable thought? Ben Lippolt
From: eric@tantalus.dell.com (Eric Youngdale) Newsgroups: comp.os.linux Subject: Re: 486 and Linux, Please Read This Date: 10 Jun 92 19:57:36 GMT In article < bjl.708173891@freyr> B.J.Lippolt@research.ptt.nl writes: >hlu@phys1.physics.wsu.edu (Hongjiu Lu) writes: > >>If you use 486, please add -m486 in all the CFLAGS of Makefiles of the kernel. >>This may make a difference. > >>H.J. > >In what way? And how about other applications? Is -m486 useful in general? > It does a couple of things. It turns out that certain primative operations are best performed with one instruction on a 386, and with a different instruction on a 486. It is just a matter of counting clock cycles. Here are some comments from the i386 machine description: ;; "movl MEM,REG / testl REG,REG" is faster on a 486 than "cmpl $0,MEM". ;; On a 486, it is faster to move MEM to a REG and then push, rather than ;; push MEM directly. ;; On i486, an incl and movl are both faster than incw and movw. ;; On a 486, it is faster to do movl/addl than to do a single leal if ;; operands[1] and operands[2] are both registers. ;; On i486, the "andl" is always faster than the "movzbl". ;; On i386 and i486, "addl reg,reg" is faster than "sall $1,reg" ;; On i486, movl/sall appears slightly faster than leal, but the leal ;; is smaller - use leal for now unless the shift count is 1. ;; On i486, the shift & or/and code is faster than bts or btr. If ;; operands[0] is a MEM, the bt[sr] is half as fast as the normal code. The 486 mode also ensures that all functions start on a 16 byte boundary, whereas for the 386 we use a 4 byte boundary. Similarily, targets of jumps are placed on four byte boundaries, rather than 2 byte boundaries. This all has to do with making the best use of the cache on the chip. -Eric -- Eric Youngdale eric@tantalus.nrl.navy.mil