Implementation notes: x86, bulldozer, crypto_core/salsa20

Computer: bulldozer
Architecture: x86
CPU ID: AuthenticAMD-00600f12-178bfbff
SUPERCOP version: 20120709
Operation: crypto_core
Primitive: salsa20
TimeImplementationCompilerBenchmark dateSUPERCOP version
1431refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2012052220120521
1444refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2012052220120521
1452refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2012052220120521
1452refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2012052220120521
1452refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2012052220120521
1453refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2012052220120521
1454refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2012052220120521
1455refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2012052220120521
1455refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2012052220120521
1456refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2012052220120521
1457refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2012052220120521
1457refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2012052220120521
1458refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2012052220120521
1460refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2012052220120521
1461refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2012052220120521
1463refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2012052220120521
1464refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2012052220120521
1464refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2012052220120521
1464refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2012052220120521
1464refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2012052220120521
1465refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2012052220120521
1465refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2012052220120521
1466refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2012052220120521
1468refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2012052220120521
1468refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2012052220120521
1468refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2012052220120521
1470refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2012052220120521
1471refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2012052220120521
1476refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2012052220120521
1481refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2012052220120521
1488refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012052220120521
1491refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2012052220120521
1492refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2012052220120521
1495refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2012052220120521
1500refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2012052220120521
1508refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2012052220120521
1509refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2012052220120521
1510refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2012052220120521
1513refgcc -m32 -O3 -fomit-frame-pointer2012052220120521
1515refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2012052220120521
1515refgcc -m32 -O2 -fomit-frame-pointer2012052220120521
1517refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2012052220120521
1518refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012052220120521
1524refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2012052220120521
1525refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2012052220120521
1527refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2012052220120521
1531refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2012052220120521
1531refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2012052220120521
1531refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2012052220120521
1538refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2012052220120521
1544refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2012052220120521
1546refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2012052220120521
1548refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2012052220120521
1548refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2012052220120521
1549refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2012052220120521
1551refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2012052220120521
1551refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2012052220120521
1552refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2012052220120521
1554refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2012052220120521
1554refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2012052220120521
1554refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2012052220120521
1558refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2012052220120521
1565refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2012052220120521
1566refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2012052220120521
1566refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2012052220120521
1567refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2012052220120521
1568refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2012052220120521
1576refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2012052220120521
1577refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2012052220120521
1578refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2012052220120521
1608refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2012052220120521
1616refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2012052220120521
1624refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2012052220120521
1649refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2012052220120521
1651refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2012052220120521
1651refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2012052220120521
1652refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2012052220120521
1652refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2012052220120521
1656refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2012052220120521
1658refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2012052220120521
1661refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2012052220120521
1661refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2012052220120521
1664refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2012052220120521
1667refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2012052220120521
1668refgcc -m32 -Os -fomit-frame-pointer2012052220120521
1668refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2012052220120521
1668refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2012052220120521
1670refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2012052220120521
1672refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2012052220120521
1674refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2012052220120521
1675refgcc -m32 -march=athlon -Os -fomit-frame-pointer2012052220120521
1676refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2012052220120521
1676refgcc -m32 -march=k6 -Os -fomit-frame-pointer2012052220120521
1677refgcc -m32 -march=pentium -Os -fomit-frame-pointer2012052220120521
1678refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2012052220120521
1678refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2012052220120521
1678refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2012052220120521
1678refgcc -m32 -march=k8 -Os -fomit-frame-pointer2012052220120521
1678refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2012052220120521
1679refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2012052220120521
1679refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2012052220120521
1680refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2012052220120521
1680refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2012052220120521
1681refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2012052220120521
1681refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2012052220120521
1681refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2012052220120521
1681refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2012052220120521
1683refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2012052220120521
1685refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2012052220120521
1685refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012052220120521
1685refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2012052220120521
1686refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2012052220120521
1687refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2012052220120521
1690refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2012052220120521
1690refgcc -m32 -march=i386 -Os -fomit-frame-pointer2012052220120521
1690refgcc -m32 -march=nocona -Os -fomit-frame-pointer2012052220120521
1690refgcc -m32 -march=prescott -Os -fomit-frame-pointer2012052220120521
1691refgcc -m32 -march=i486 -Os -fomit-frame-pointer2012052220120521
1691refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2012052220120521
1693refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2012052220120521
1697refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2012052220120521
1698refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2012052220120521
1699refgcc -m32 -march=core2 -Os -fomit-frame-pointer2012052220120521
1701refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2012052220120521
1711refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2012052220120521
1720refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2012052220120521
1724refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2012052220120521
1727refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2012052220120521
1732refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2012052220120521
2084refgcc -m32 -march=barcelona -O -fomit-frame-pointer2012052220120521
2216refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2012052220120521
2233refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2012052220120521
2251refgcc -m32 -march=i386 -O -fomit-frame-pointer2012052220120521
2260refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2012052220120521
2271refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2012052220120521
2271refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2012052220120521
2275refgcc -funroll-loops -m32 -O -fomit-frame-pointer2012052220120521
2278refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2012052220120521
2279refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2012052220120521
2279refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2012052220120521
2281refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2012052220120521
2288refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2012052220120521
2293refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2012052220120521
2295refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2012052220120521
2295refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2012052220120521
2296refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2012052220120521
2297refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2012052220120521
2297refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2012052220120521
2298refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2012052220120521
2299refgcc -m32 -march=nocona -O -fomit-frame-pointer2012052220120521
2300refgcc -m32 -march=athlon -O -fomit-frame-pointer2012052220120521
2300refgcc -m32 -march=core2 -O -fomit-frame-pointer2012052220120521
2300refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2012052220120521
2301refgcc -m32 -march=k8 -O -fomit-frame-pointer2012052220120521
2301refgcc -m32 -march=prescott -O -fomit-frame-pointer2012052220120521
2304refgcc -m32 -march=i486 -O -fomit-frame-pointer2012052220120521
2305refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2012052220120521
2319refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2012052220120521
2319refgcc -m32 -O -fomit-frame-pointer2012052220120521
2319refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2012052220120521
2324refgcc -m32 -march=k6 -O -fomit-frame-pointer2012052220120521
2328refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2012052220120521
2333refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2012052220120521
2336refgcc -m32 -march=corei7 -O -fomit-frame-pointer2012052220120521
2339refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2012052220120521
2351refgcc -m32 -march=pentium -O -fomit-frame-pointer2012052220120521
2358refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2012052220120521
2360refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2012052220120521
2365refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2012052220120521
2366refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2012052220120521
2398refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2012052220120521
2688refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2012052220120521