Implementation notes: amd64, rumba5, crypto_encrypt/ntruees439ep1

Computer: rumba5
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20181216
Operation: crypto_encrypt
Primitive: ntruees439ep1
TimeImplementationCompilerBenchmark dateSUPERCOP version
132704refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018091720180818
132864refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018091720180818
133216refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018091720180818
133248refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018091720180818
133280refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018091720180818
133408refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018091720180818
133920refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018091720180818
135296refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018091720180818
136160refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018091720180818
139648refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018091720180818
142528refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018091720180818
143648refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018091720180818
144160refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018091720180818
144672refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018091720180818
146720refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018091720180818
146944refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018091720180818
147072refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018091720180818
147104refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018091720180818
148416refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018091720180818
148416refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018091720180818
148576refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018091720180818
148672refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018091720180818
149440refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018091720180818
150464refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018091720180818
150560refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018091720180818
150720refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018091720180818
151040refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018091720180818
151168refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018091720180818
151808refgcc -m64 -march=core2 -O -fomit-frame-pointer2018091720180818
152704refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018091720180818
152864refgcc -funroll-loops -O3 -fomit-frame-pointer2018091720180818
152960refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018091720180818
153024refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018091720180818
153184refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018091720180818
155072refgcc -march=barcelona -O3 -fomit-frame-pointer2018091720180818
155648refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018091720180818
155904refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018091720180818
156128refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018091720180818
159872refgcc -O3 -fomit-frame-pointer2018091720180818
159904refgcc -m64 -O3 -fomit-frame-pointer2018091720180818
160128refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018091720180818
161568refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018091720180818
162048refgcc -march=k8 -O3 -fomit-frame-pointer2018091720180818
163136refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018091720180818
163136refgcc -march=nocona -O3 -fomit-frame-pointer2018091720180818
165568refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018091720180818
165632refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018091720180818
165664refgcc -funroll-loops -O2 -fomit-frame-pointer2018091720180818
165856refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018091720180818
165888refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018091720180818
165952refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018091720180818
166080refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018091720180818
167872refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018091720180818
167968refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018091720180818
168448refgcc -funroll-loops -O -fomit-frame-pointer2018091720180818
168480refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018091720180818
168576refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018091720180818
171040refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018091720180818
171232refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018091720180818
171264refgcc -march=barcelona -O2 -fomit-frame-pointer2018091720180818
171296refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018091720180818
172800refgcc -march=k8 -O2 -fomit-frame-pointer2018091720180818
172960refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018091720180818
173568refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018091720180818
174464refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018091720180818
175008refgcc -O2 -fomit-frame-pointer2018091720180818
175008refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018091720180818
175168refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018091720180818
175296refgcc -m64 -O2 -fomit-frame-pointer2018091720180818
175488refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018091720180818
175488refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018091720180818
175520refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018091720180818
175808refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018091720180818
177184refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018091720180818
177216refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018091720180818
177568refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018091720180818
177760refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018091720180818
178368refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018091720180818
180256refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018091720180818
180288refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018091720180818
180832refgcc -march=barcelona -O -fomit-frame-pointer2018091720180818
182592refgcc -m64 -O -fomit-frame-pointer2018091720180818
182848refgcc -fno-schedule-insns -O -fomit-frame-pointer2018091720180818
183200refgcc -O -fomit-frame-pointer2018091720180818
183200refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018091720180818
184544refgcc -march=nocona -O2 -fomit-frame-pointer2018091720180818
188160refgcc -march=nocona -O -fomit-frame-pointer2018091720180818
188224refgcc -march=k8 -O -fomit-frame-pointer2018091720180818
188256refgcc -m64 -march=k8 -O -fomit-frame-pointer2018091720180818
188416refgcc -m64 -march=nocona -O -fomit-frame-pointer2018091720180818
215296refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018091720180818
215616refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018091720180818
215680refgcc -funroll-loops -Os -fomit-frame-pointer2018091720180818
215840refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018091720180818
215872refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018091720180818
215904refgcc -march=nocona -Os -fomit-frame-pointer2018091720180818
215968refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018091720180818
215968refgcc -m64 -Os -fomit-frame-pointer2018091720180818
216032refgcc -Os -fomit-frame-pointer2018091720180818
216064refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018091720180818
216160refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018091720180818
216160refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018091720180818
216192refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018091720180818
216512refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018091720180818
216608refgcc -march=k8 -Os -fomit-frame-pointer2018091720180818
216832refgcc -march=barcelona -Os -fomit-frame-pointer2018091720180818
220128refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018091720180818
220320refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018091720180818
623840refgcc2018091720180818
623936refgcc -funroll-loops2018091720180818
625216refcc2018091720180818

Compiler output

Implementation: crypto_encrypt/ntruees439ep1/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
ntru_crypto_sha1.c: ntru_crypto_sha1.c:85:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
ntru_crypto_sha1.c: E += RL(A, 5) + K00_19 + (B & (C ^ D) ^ D) + data[ 0]; B = RL(B, 30);
ntru_crypto_sha1.c: ~~^~~~~~~~~ ~
ntru_crypto_sha1.c: ntru_crypto_sha1.c:85:33: note: place parentheses around the '&' expression to silence this warning
ntru_crypto_sha1.c: E += RL(A, 5) + K00_19 + (B & (C ^ D) ^ D) + data[ 0]; B = RL(B, 30);
ntru_crypto_sha1.c: ^
ntru_crypto_sha1.c: ( )
ntru_crypto_sha1.c: ntru_crypto_sha1.c:86:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
ntru_crypto_sha1.c: D += RL(E, 5) + K00_19 + (A & (B ^ C) ^ C) + data[ 1]; A = RL(A, 30);
ntru_crypto_sha1.c: ~~^~~~~~~~~ ~
ntru_crypto_sha1.c: ntru_crypto_sha1.c:86:33: note: place parentheses around the '&' expression to silence this warning
ntru_crypto_sha1.c: D += RL(E, 5) + K00_19 + (A & (B ^ C) ^ C) + data[ 1]; A = RL(A, 30);
ntru_crypto_sha1.c: ^
ntru_crypto_sha1.c: ( )
ntru_crypto_sha1.c: ntru_crypto_sha1.c:87:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
ntru_crypto_sha1.c: C += RL(D, 5) + K00_19 + (E & (A ^ B) ^ B) + data[ 2]; E = RL(E, 30);
ntru_crypto_sha1.c: ~~^~~~~~~~~ ~
ntru_crypto_sha1.c: ntru_crypto_sha1.c:87:33: note: place parentheses around the '&' expression to silence this warning
ntru_crypto_sha1.c: C += RL(D, 5) + K00_19 + (E & (A ^ B) ^ B) + data[ 2]; E = RL(E, 30);
ntru_crypto_sha1.c: ^
ntru_crypto_sha1.c: ( )
ntru_crypto_sha1.c: ntru_crypto_sha1.c:88:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
ntru_crypto_sha1.c: B += RL(C, 5) + K00_19 + (D & (E ^ A) ^ A) + data[ 3]; D = RL(D, 30);
ntru_crypto_sha1.c: ~~^~~~~~~~~ ~
ntru_crypto_sha1.c: ntru_crypto_sha1.c:88:33: note: place parentheses around the '&' expression to silence this warning
ntru_crypto_sha1.c: ...

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref