Descriptioncmd/8g: use SSE2 instructions
The SSE2 instructions use a register set instead of
a virtual stack, which makes the resulting code more
amenable to traditional registerization.
This change ends support for pre-2001 (pre-Pentium 4) chips.
The previous cutoff had been 1993 (Pentium MMX), for sync/atomic.
fasta -n 25000000
gcc -m32 -O2 fasta.c 3.99u 0.00s 3.99r
- gc fasta 3.08u 0.02s 3.10r
+ gc fasta 2.37u 0.01s 2.38r -23%
nbody -n 50000000
gcc -m32 -O2 nbody.c 13.70u 0.00s 13.71r
- gc nbody 21.86u 0.00s 21.88r
+ gc nbody 14.63u 0.00s 14.64r -33%
spectral-norm 5500
gcc -m32 -O2 spectral*.c 10.49u 0.01s 10.51r
- gc spectral-norm 20.79u 0.00s 20.81r
+ gc spectral-norm 17.05u 0.00s 17.07r -18%
mandelbrot 16000
gcc -m32 -O2 mandelbrot.c 32.17u 0.02s 32.22r
- gc mandelbrot 64.80u 0.00s 64.85r
+ gc mandelbrot 37.32u 0.00s 37.35r -42%
Fixes issue 3912.
Patch Set 1 #Patch Set 2 : diff -r b4d17e91718d https://code.google.com/p/go/ #Patch Set 3 : diff -r b4d17e91718d https://code.google.com/p/go/ #Patch Set 4 : diff -r d91e3e7106aa https://code.google.com/p/go/ #
Total comments: 2
Patch Set 5 : diff -r 3e660456f301 https://go.googlecode.com/hg/ #Patch Set 6 : diff -r b77af9fe6f56 https://go.googlecode.com/hg/ #
Total comments: 2
Patch Set 7 : diff -r b77af9fe6f56 https://go.googlecode.com/hg/ #Patch Set 8 : diff -r 25dcee3d220c https://code.google.com/p/go/ #
MessagesTotal messages: 5
|