@DamageX  
Try using the same stream_d benchmark.
In reference to "sam_memory_test.pdf"
http://www.sam440.com/eng/images/sam_memory_test.pdf/usr/checkbench/stream # ./stream_d
This system uses 8 bytes per DOUBLE PRECISION word.
...
Function Rate (MB/s) RMS time Min time Max time
Copy: 285.7041 0.1121 0.1120 0.1121
Scale: 270.4713 0.1184 0.1183 0.1185
Add: 256.4075 0.1873 0.1872 0.1875
Triad: 250.5925 0.1916 0.1915 0.1918
----------------------------------------
Using a real AMD64 processor not some Sempron junk.
AMD Opteron 248 @2200Mhz with PathScale EKO complier.
Compiler: PathScale EKO Compiler Suite, Release 1.1 
           Model Name: ASUS SK8N Motherboard, AMD Opteron (TM) Model 248 
                  CPU: AMD Opteron 248 
              CPU MHz: 2200 
                  FPU: Integrated 
       CPU(s) enabled: 1 core, 1 chip, 1 core/chip 
      Secondary Cache: 1024KB (I+D) on chip 
               Memory: 4x512MB, DDR400, PC3200, Corsair, CL2 
     Operating System: SuSE Linux 9.0 (AMD64) 2.4.21-102-default 
> pathcc -Ofast -lm stream_d.c second_wall.c -o 1.1ccOfast 
> ./1.1ccOfast 
------------------------------------------------------------- 
This system uses 8 bytes per DOUBLE PRECISION word. 
------------------------------------------------------------- 
Array size = 2000000, Offset = 0 
Total memory required = 45.8 MB. 
Each test is run 10 times, but only 
the *best* time for each is used. 
------------------------------------------------------------- 
Your clock granularity/precision appears to be 1 microseconds. 
Each test below will take on the order of 7885 microseconds. 
    (= 7885 clock ticks) 
Increase the size of the arrays if this shows that 
you are not getting at least 20 clock ticks per test. 
------------------------------------------------------------- 
WARNING -- The above is only a rough guideline. 
For best results, please be sure you know the 
precision of your system timer. 
------------------------------------------------------------- 
Function Rate (MB/s) RMS time Min time Max time 
Copy: 4613.5614 0.0070 0.0069 0.0072 
Scale: 4520.3330 0.0071 0.0071 0.0071 
Add: 4558.4067 0.0106 0.0105 0.0107 
Triad: 4554.9003 0.0105 0.0105 0.0106 
--------------------
Using SunFire V40z with 4 x Opteron 2.6GHz processors. 
Sun Studio 11(MB/s) complier. 
Sun Studio: -fast -xarch=amd64a -xvector=simd -xprefetch -xprefetch_level=3 
(setenv PARALLEL 1)
Copy
 4658
Scale
 4614 
Add
 4628 
Triad
 4627
Sun Studio 11(MB/s) with  4 processor Automatic Parallelization switch.
For Automatic parallelization:
cc -fast -xarch=amd64a -xvector=simd -xprefetch -xprefetch_level=3 -xautopar stream_d.c second.c
(setenv PARALLEL 4)
Copy
 18120 
Scale
 18108 
Add
 17758 
Triad
  17626 
----------------------------------------------- 
Same machine with GCC4.1 (MB/s)complier. 
GCC 4.1: -O3 -funroll-all-loops -ffast-math -fpeephole -m64 -mtune=k8 -fprefetch-loop-arrays
Copy
 2766 
Scale
 2745 
Add
 2970 
Triad
  2969
AMD64 goes well with SUN’s Studio 11 and PathScale's EKO compliers.
The GCC compiler isnt able to exploit this type of scalability since doesn't support automatic parallelization or OpenMP.
Note that there are two main types of Semprons i.e. K7 based (supports only single MCH via FSB) and K8 based(available in single MCH via Socket 754 or Dual MCH via Socket AM2/Socket S1).
SUN’s Studio 11 is avilable as a free download.