Implementation notes: x86, gcc14, crypto_encrypt/ntruees439ep1

Computer: gcc14
Architecture: x86
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_encrypt
Primitive: ntruees439ep1
TimeImplementationCompilerBenchmark dateSUPERCOP version
585207refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2016103120161009
586215refgcc -funroll-loops -m32 -O -fomit-frame-pointer2016103120161009
586755refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2016103120161009
587268refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2016103120161009
587610refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2016103120161009
588933refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2016103120161009
591102refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2016103120161009
592038refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2016103120161009
593091refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2016103120161009
593595refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2016103120161009
593829refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2016103120161009
595512refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2016103120161009
595566refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2016103120161009
596556refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2016103120161009
596673refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2016103120161009
596817refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2016103120161009
598338refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2016103120161009
598491refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2016103120161009
598932refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2016103120161009
599004refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2016103120161009
599031refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2016103120161009
599157refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2016103120161009
599310refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2016103120161009
599733refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2016103120161009
600750refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2016103120161009
601218refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2016103120161009
601407refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2016103120161009
601524refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2016103120161009
601641refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2016103120161009
601920refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2016103120161009
602136refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2016103120161009
602226refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2016103120161009
603747refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2016103120161009
603963refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2016103120161009
604098refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2016103120161009
604665refgcc -m32 -O2 -fomit-frame-pointer2016103120161009
604953refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2016103120161009
606159refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2016103120161009
606510refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2016103120161009
608229refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2016103120161009
608553refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2016103120161009
608679refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2016103120161009
609894refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2016103120161009
611208refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2016103120161009
612612refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2016103120161009
612720refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2016103120161009
613017refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2016103120161009
613260refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2016103120161009
613782refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2016103120161009
614367refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2016103120161009
618642refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2016103120161009
618975refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2016103120161009
619092refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2016103120161009
620838refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2016103120161009
621468refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2016103120161009
621747refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2016103120161009
621882refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2016103120161009
622152refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2016103120161009
622746refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2016103120161009
622953refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2016103120161009
623313refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2016103120161009
623916refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2016103120161009
624087refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2016103120161009
624375refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2016103120161009
624906refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2016103120161009
625473refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2016103120161009
625842refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2016103120161009
625869refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2016103120161009
626490refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2016103120161009
627543refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2016103120161009
629973refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2016103120161009
630603refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2016103120161009
631935refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2016103120161009
633303refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2016103120161009
633339refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2016103120161009
633501refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2016103120161009
634023refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2016103120161009
634338refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2016103120161009
635589refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2016103120161009
635733refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2016103120161009
635787refgcc -m32 -march=k8 -O -fomit-frame-pointer2016103120161009
636093refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2016103120161009
636183refgcc -m32 -march=barcelona -O -fomit-frame-pointer2016103120161009
636723refgcc -m32 -O -fomit-frame-pointer2016103120161009
638055refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2016103120161009
638307refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2016103120161009
638496refgcc -m32 -march=k6 -O -fomit-frame-pointer2016103120161009
638550refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2016103120161009
638622refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2016103120161009
638640refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2016103120161009
638991refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2016103120161009
639351refgcc -m32 -march=athlon -O -fomit-frame-pointer2016103120161009
639882refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2016103120161009
640017refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2016103120161009
640305refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2016103120161009
640629refgcc -m32 -march=nocona -O -fomit-frame-pointer2016103120161009
641034refgcc -m32 -march=prescott -O -fomit-frame-pointer2016103120161009
642195refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2016103120161009
642249refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2016103120161009
642735refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2016103120161009
643167refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2016103120161009
643446refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2016103120161009
643725refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2016103120161009
646227refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2016103120161009
648900refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2016103120161009
662274refgcc -m32 -march=i386 -O -fomit-frame-pointer2016103120161009
665217refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2016103120161009
665829refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2016103120161009
666252refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2016103120161009
668565refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2016103120161009
674217refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2016103120161009
674298refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2016103120161009
674667refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2016103120161009
679302refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2016103120161009
679545refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2016103120161009
679896refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2016103120161009
680049refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2016103120161009
680085refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2016103120161009
684333refgcc -m32 -march=pentium -O -fomit-frame-pointer2016103120161009
684540refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2016103120161009
691227refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2016103120161009
695034refgcc -m32 -march=i386 -Os -fomit-frame-pointer2016103120161009
695097refgcc -m32 -march=i486 -Os -fomit-frame-pointer2016103120161009
695304refgcc -m32 -Os -fomit-frame-pointer2016103120161009
695475refgcc -m32 -march=prescott -Os -fomit-frame-pointer2016103120161009
695592refgcc -m32 -march=nocona -Os -fomit-frame-pointer2016103120161009
695646refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2016103120161009
698049refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2016103120161009
698175refgcc -m32 -march=i486 -O -fomit-frame-pointer2016103120161009
698616refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2016103120161009
698625refgcc -m32 -march=pentium -Os -fomit-frame-pointer2016103120161009
698643refgcc -m32 -march=k8 -Os -fomit-frame-pointer2016103120161009
699030refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2016103120161009
699039refgcc -m32 -march=athlon -Os -fomit-frame-pointer2016103120161009
699228refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2016103120161009
699606refgcc -m32 -march=k6 -Os -fomit-frame-pointer2016103120161009
701667refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2016103120161009
703422refgcc -m32 -O3 -fomit-frame-pointer2016103120161009
708210refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2016103120161009
718155refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2016103120161009
720018refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2016103120161009
720288refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2016103120161009
743310refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2016103120161009
743382refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2016103120161009

Compiler output

Implementation: crypto_encrypt/ntruees439ep1/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