Implementation notes: x86, gcc14, crypto_encrypt/ntruees401ep2

Computer: gcc14
Architecture: x86
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_encrypt
Primitive: ntruees401ep2
TimeImplementationCompilerBenchmark dateSUPERCOP version
489015refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2016103020161009
491184refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2016103020161009
491760refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2016103020161009
491850refgcc -funroll-loops -m32 -O -fomit-frame-pointer2016103020161009
492696refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2016103020161009
493101refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2016103020161009
495099refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2016103020161009
495585refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2016103020161009
496458refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2016103020161009
496980refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2016103020161009
497511refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2016103020161009
497709refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2016103020161009
498114refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2016103020161009
499527refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2016103020161009
499779refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2016103020161009
499824refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2016103020161009
499887refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2016103020161009
500031refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2016103020161009
500463refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2016103020161009
500517refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2016103020161009
500724refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2016103020161009
500805refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2016103020161009
500859refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2016103020161009
504576refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2016103020161009
506079refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2016103020161009
506520refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2016103020161009
506529refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2016103020161009
506799refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2016103020161009
506925refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2016103020161009
507015refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2016103020161009
507060refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2016103020161009
507159refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2016103020161009
507267refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2016103020161009
507411refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2016103020161009
507429refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2016103020161009
507672refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2016103020161009
507825refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2016103020161009
507942refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2016103020161009
508500refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2016103020161009
508500refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2016103020161009
508923refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2016103020161009
509544refgcc -m32 -O2 -fomit-frame-pointer2016103020161009
509994refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2016103020161009
511794refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2016103020161009
514116refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2016103020161009
514341refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2016103020161009
514611refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2016103020161009
514980refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2016103020161009
515115refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2016103020161009
518220refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2016103020161009
519048refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2016103020161009
519300refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2016103020161009
521505refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2016103120161009
521991refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2016103120161009
522180refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2016103020161009
522972refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2016103020161009
523512refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2016103020161009
523665refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2016103020161009
523854refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2016103020161009
524907refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2016103020161009
525195refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2016103120161009
525402refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2016103020161009
525771refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2016103020161009
526230refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2016103020161009
526320refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2016103120161009
529272refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2016103020161009
529281refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2016103120161009
529641refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2016103120161009
529956refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2016103020161009
530289refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2016103020161009
530343refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2016103020161009
530352refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2016103020161009
530766refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2016103020161009
530811refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2016103020161009
532413refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2016103020161009
532953refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2016103120161009
533241refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2016103020161009
533250refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2016103020161009
533259refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2016103020161009
534276refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2016103120161009
534447refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2016103020161009
535221refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2016103020161009
535383refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2016103020161009
535788refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2016103020161009
535806refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2016103020161009
535968refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2016103020161009
536202refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2016103020161009
536400refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2016103120161009
536454refgcc -m32 -march=k8 -O -fomit-frame-pointer2016103020161009
536553refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2016103120161009
536661refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2016103020161009
536670refgcc -m32 -march=barcelona -O -fomit-frame-pointer2016103020161009
536751refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2016103020161009
537885refgcc -m32 -O -fomit-frame-pointer2016103020161009
538290refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2016103020161009
539442refgcc -m32 -march=k6 -O -fomit-frame-pointer2016103020161009
539910refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2016103020161009
540225refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2016103020161009
541278refgcc -m32 -march=athlon -O -fomit-frame-pointer2016103020161009
541854refgcc -m32 -march=prescott -O -fomit-frame-pointer2016103020161009
542097refgcc -m32 -march=nocona -O -fomit-frame-pointer2016103020161009
544815refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2016103020161009
544968refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2016103020161009
545130refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2016103020161009
547218refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2016103120161009
556263refgcc -m32 -march=i386 -O -fomit-frame-pointer2016103020161009
565209refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2016103020161009
566181refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2016103020161009
566712refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2016103020161009
567495refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2016103020161009
569637refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2016103020161009
569772refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2016103020161009
573831refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2016103020161009
574785refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2016103020161009
575118refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2016103020161009
575514refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2016103020161009
577017refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2016103020161009
579348refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2016103020161009
580059refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2016103020161009
580680refgcc -m32 -march=pentium -O -fomit-frame-pointer2016103020161009
582705refgcc -m32 -march=i386 -Os -fomit-frame-pointer2016103020161009
583353refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2016103020161009
584748refgcc -m32 -march=i486 -Os -fomit-frame-pointer2016103020161009
585081refgcc -m32 -march=nocona -Os -fomit-frame-pointer2016103020161009
585486refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2016103020161009
585504refgcc -m32 -march=prescott -Os -fomit-frame-pointer2016103020161009
586458refgcc -m32 -march=athlon -Os -fomit-frame-pointer2016103020161009
586674refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2016103020161009
587070refgcc -m32 -Os -fomit-frame-pointer2016103020161009
587277refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2016103020161009
587412refgcc -m32 -march=k8 -Os -fomit-frame-pointer2016103020161009
587664refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2016103020161009
587970refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2016103020161009
588105refgcc -m32 -march=k6 -Os -fomit-frame-pointer2016103020161009
588393refgcc -m32 -march=pentium -Os -fomit-frame-pointer2016103020161009
589626refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2016103020161009
596853refgcc -m32 -O3 -fomit-frame-pointer2016103020161009
596871refgcc -m32 -march=i486 -O -fomit-frame-pointer2016103020161009
599391refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2016103020161009
608661refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2016103020161009
609777refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2016103020161009
610245refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2016103020161009
629064refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2016103020161009
629514refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2016103020161009

Compiler output

Implementation: crypto_encrypt/ntruees401ep2/ref
Compiler: gcc -m32 -march=core2 -O2 -fomit-frame-pointer
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:40:23: error: immintrin.h: No such file or directory
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c: In function 'ntru_ring_mult_indices_sse3':
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:684: error: '__m128i' undeclared (first use in this function)
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:684: error: (Each undeclared identifier is reported only once
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:684: error: for each function it appears in.)
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:684: error: 'T' undeclared (first use in this function)
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:686: error: 'Tp' undeclared (first use in this function)
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:694: error: expected ';' before 'a0s'
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:695: error: expected ';' before 'aNs'
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:696: error: 'a0s' undeclared (first use in this function)
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:696: error: expected expression before ')' token
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:697: error: 'aNs' undeclared (first use in this function)
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:697: error: expected expression before ')' token
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:710: error: expected ';' before 'x2'
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:711: error: 'x2' undeclared (first use in this function)
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:715: error: expected ';' before 'x3'
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:716: error: 'x3' undeclared (first use in this function)
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:725: error: expected ';' before 'neg'
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:726: error: 'neg' undeclared (first use in this function)
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:730: error: expected ';' before 'x1'
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:731: error: 'x1' undeclared (first use in this function)
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:741: error: expected ';' before 'x2'
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:746: error: expected ';' before 'x3'
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:756: error: 'Ti' undeclared (first use in this function)
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c:757: error: expected expression before ')' token
ntru_crypto_ntru_poly.c: ...

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -m32 -march=core2 -O2 -fomit-frame-pointer ref
gcc -m32 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m32 -march=core2 -O -fomit-frame-pointer ref
gcc -m32 -march=core2 -Os -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer ref