Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

rebuilding NASM 0.98.39 (without MMX/3DNOW/686/SSE) (Developers)

posted by Rugxulo Homepage, Usono, 13.04.2020, 07:16

> > > The 486 and 586 didn't add much (not counting MMX, 3DNow!), so I felt
> > > I should keep those. But everything else (Cyrix, MMX, 3DNow!, P6, IA64
> > > [JMPE], SSE[123]) I deleted.
> >
> > (P6 has a highly useful cmov that reduces branching, and is a substitute
> > for a branch instruction and a mov. IIRC it is 3 bytes and replaces a
> > one byte branch and two bytes mov. (in both cases + size of imm),
> > equal size, better performance)
>
> I did double-check for you. Not counting Cyrix, P6 only is 35 instructions.
> So it's only an extra 2 kb of space used, so it probably wouldn't hurt
> to include here

So I refreshed "nasmlite". But sometimes it's hard to know what really helps or not (especially for old cpus I don't have on hand to test). I did enable support for P6 instructions, though (but easily disabled via makefile, if needed).

"-a" enables word alignment and didn't hurt size at all, so that's a no-brainer, but it's still of questionable benefit (without further testing). "-G' speed optimization (vs. size) would've taken 6 kb extra, and I didn't even bother because I can't prove it actually helps at all. (I need to compare "-S" assembly output, but even that's probably targeting truly ancient cpus. "-S" also ran out of memory on preproc.c, so that's fun.)

I still need to read the compiler manuals in more detail. There's plenty of other options and miscellaneous trivia.

 

Complete thread:

Back to the forum
Board view  Mix view
22049 Postings in 2034 Threads, 396 registered users, 233 users online (0 registered, 233 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum