Implementation notes: amd64, sandy, crypto_encrypt/ntruees787ep1

Computer: sandy
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20120908
Operation: crypto_encrypt
Primitive: ntruees787ep1
TimeImplementationCompilerBenchmark dateSUPERCOP version
1699484refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012081620120812
1704068refgcc -funroll-loops -O3 -fomit-frame-pointer2012081620120812
1711148refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012081620120812
1714132refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012081620120812
1717128refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012081620120812
1719588refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012081620120812
1719984refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012081620120812
1721204refgcc -funroll-loops -O2 -fomit-frame-pointer2012081620120812
1730996refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012081620120812
1731828refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012081620120812
1732236refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012081620120812
1733968refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012081620120812
1741100refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012081620120812
1742528refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012081620120812
1748516refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012081620120812
1749532refclang -O32012081620120812
1758312refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012081620120812
1763480refclang -O3 -mavx2012081620120812
1764000refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012081620120812
1773100refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012081620120812
1774992refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012081620120812
1790160refgcc -funroll-loops -m64 -O -fomit-frame-pointer2012081620120812
1792924refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012081620120812
1793708refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012081620120812
1794132refgcc -funroll-loops -O -fomit-frame-pointer2012081620120812
1795452refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012081620120812
1797020refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012081620120812
1797500refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012081620120812
1798152refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012081620120812
1826440refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2012081620120812
1826692refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012081620120812
1828632refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012081620120812
1828812refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012081620120812
1830224refgcc -fno-schedule-insns -Os -fomit-frame-pointer2012081620120812
1831588refgcc -march=k8 -Os -fomit-frame-pointer2012081620120812
1831720refgcc -march=barcelona -Os -fomit-frame-pointer2012081620120812
1831916refgcc -m64 -Os -fomit-frame-pointer2012081620120812
1832652refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012081620120812
1833228refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2012081620120812
1833848refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2012081620120812
1836344refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012081620120812
1837040refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2012081620120812
1837052refgcc -m64 -march=k8 -Os -fomit-frame-pointer2012081620120812
1838024refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012081620120812
1840604refgcc -m64 -march=core2 -Os -fomit-frame-pointer2012081620120812
1841404refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012081620120812
1841840refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012081620120812
1843776refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012081620120812
1844628refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012081620120812
1845216refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012081620120812
1847020refgcc -funroll-loops -Os -fomit-frame-pointer2012081620120812
1848272refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2012081620120812
1848852refgcc -march=barcelona -O3 -fomit-frame-pointer2012081620120812
1850620refgcc -Os -fomit-frame-pointer2012081620120812
1851524refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012081620120812
1857828refgcc -march=k8 -O3 -fomit-frame-pointer2012081620120812
1858088refgcc -m64 -O3 -fomit-frame-pointer2012081620120812
1859320refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2012081620120812
1861764refgcc -march=nocona -Os -fomit-frame-pointer2012081620120812
1861956refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012081620120812
1862484refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2012081620120812
1862596refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012081620120812
1863752refgcc -O3 -fomit-frame-pointer2012081620120812
1864424refgcc -m64 -march=nocona -Os -fomit-frame-pointer2012081620120812
1865812refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2012081620120812
1870056refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2012081620120812
1872932refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012081620120812
1877028refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2012081620120812
1877336refgcc -march=nocona -O3 -fomit-frame-pointer2012081620120812
1877460refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2012081620120812
1884672refgcc -O2 -fomit-frame-pointer2012081620120812
1890304refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012081620120812
1896928refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2012081620120812
1898524refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2012081620120812
1900620refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012081620120812
1901732refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012081620120812
1902928refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012081620120812
1904896refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2012081620120812
1906100refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2012081620120812
1907188refgcc -m64 -O2 -fomit-frame-pointer2012081620120812
1908420refgcc -march=nocona -O2 -fomit-frame-pointer2012081620120812
1908720refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012081620120812
1910328refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2012081620120812
1911568refgcc -march=barcelona -O2 -fomit-frame-pointer2012081620120812
1914628refgcc -march=k8 -O2 -fomit-frame-pointer2012081620120812
1925764refgcc -m64 -march=barcelona -O -fomit-frame-pointer2012081620120812
1927672refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012081620120812
1928748refgcc -m64 -march=nocona -O -fomit-frame-pointer2012081620120812
1931744refgcc -O -fomit-frame-pointer2012081620120812
1931824refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2012081620120812
1936016refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012081620120812
1938704refgcc -m64 -march=corei7 -O -fomit-frame-pointer2012081620120812
1939888refgcc -march=barcelona -O -fomit-frame-pointer2012081620120812
1939956refgcc -m64 -march=core2 -O -fomit-frame-pointer2012081620120812
1941172refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012081620120812
1942796refgcc -m64 -O -fomit-frame-pointer2012081620120812
1947572refgcc -fno-schedule-insns -O -fomit-frame-pointer2012081620120812
1947588refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012081620120812
1950888refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012081620120812
1951772refgcc -march=nocona -O -fomit-frame-pointer2012081620120812
1953964refgcc -march=k8 -O -fomit-frame-pointer2012081620120812
1966388refgcc -m64 -march=k8 -O -fomit-frame-pointer2012081620120812
4763988refcc2012081620120812
4795636refgcc2012081620120812
4805264refgcc -funroll-loops2012081620120812

Compiler output

Implementation: crypto_encrypt/ntruees787ep1/ref
Compiler: clang -O3
ntru_encrypt.c: ntru_encrypt.c:477:26: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
ntru_encrypt.c: if (ci_coeff = *chkR_ptr++ & 0x0001) {
ntru_encrypt.c: ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
ntru_encrypt.c: ntru_encrypt.c:477:26: note: place parentheses around the assignment to silence this warning
ntru_encrypt.c: if (ci_coeff = *chkR_ptr++ & 0x0001) {
ntru_encrypt.c: ^
ntru_encrypt.c: ( )
ntru_encrypt.c: ntru_encrypt.c:477:26: note: use '==' to turn this assignment into an equality comparison
ntru_encrypt.c: if (ci_coeff = *chkR_ptr++ & 0x0001) {
ntru_encrypt.c: ^
ntru_encrypt.c: ==
ntru_encrypt.c: ntru_encrypt.c:493:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
ntru_encrypt.c: if (ci_coeff = *chkR_ptr++ & 0x0001) {
ntru_encrypt.c: ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
ntru_encrypt.c: ntru_encrypt.c:493:22: note: place parentheses around the assignment to silence this warning
ntru_encrypt.c: if (ci_coeff = *chkR_ptr++ & 0x0001) {
ntru_encrypt.c: ^
ntru_encrypt.c: ( )
ntru_encrypt.c: ntru_encrypt.c:493:22: note: use '==' to turn this assignment into an equality comparison
ntru_encrypt.c: if (ci_coeff = *chkR_ptr++ & 0x0001) {
ntru_encrypt.c: ^
ntru_encrypt.c: ==
ntru_encrypt.c: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 ref
clang -O3 -mavx ref