Implementation notes: amd64, hydra8, crypto_encrypt/ntruees439ep1

Computer: hydra8
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20171218
Operation: crypto_encrypt
Primitive: ntruees439ep1
TimeImplementationCompilerBenchmark dateSUPERCOP version
177300refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2017110620171020
177856refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017110620171020
178728refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2017110620171020
178728refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017110620171020
180320refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017110620171020
181200refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017110620171020
181536refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017110620171020
181644refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017110620171020
187316refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2017110620171020
187428refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2017110620171020
189336refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017110620171020
190628refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017110620171020
190636refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017110620171020
191400refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017110620171020
192228refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017110620171020
192552refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017110620171020
195828refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017110620171020
196000refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017110620171020
196772refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017110620171020
198468refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017110620171020
198604refgcc -m64 -march=core2 -O -fomit-frame-pointer2017110620171020
199272refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2017110620171020
200256refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2017110620171020
200336refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017110620171020
207320refgcc -funroll-loops -O3 -fomit-frame-pointer2017110620171020
207892refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017110620171020
207980refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017110620171020
208180refgcc -march=barcelona -O3 -fomit-frame-pointer2017110620171020
208656refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017110620171020
209264refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017110620171020
209716refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017110620171020
209880refgcc -m64 -O3 -fomit-frame-pointer2017110620171020
210188refgcc -O3 -fomit-frame-pointer2017110620171020
210212refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017110620171020
211532refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017110620171020
212260refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017110620171020
212284refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017110620171020
214736refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017110620171020
215052refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017110620171020
216488refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017110620171020
216688refgcc -march=k8 -O3 -fomit-frame-pointer2017110620171020
217344refgcc -march=nocona -O3 -fomit-frame-pointer2017110620171020
221628refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017110620171020
222320refgcc -funroll-loops -O -fomit-frame-pointer2017110620171020
223788refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017110620171020
224620refgcc -funroll-loops -O2 -fomit-frame-pointer2017110620171020
224708refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017110620171020
224744refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017110620171020
224816refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017110620171020
225040refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017110620171020
225616refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017110620171020
226208refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017110620171020
226756refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017110620171020
226980refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017110620171020
226980refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017110620171020
227280refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017110620171020
227344refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017110620171020
227488refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017110620171020
228244refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017110620171020
228312refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2017110620171020
228472refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2017110620171020
229116refgcc -march=barcelona -O2 -fomit-frame-pointer2017110620171020
230332refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017110620171020
230424refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017110620171020
230880refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017110620171020
230960refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017110620171020
231168refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017110620171020
231468refgcc -O2 -fomit-frame-pointer2017110620171020
231824refgcc -m64 -O2 -fomit-frame-pointer2017110620171020
232012refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017110620171020
232716refgcc -march=k8 -O2 -fomit-frame-pointer2017110620171020
233548refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017110620171020
233572refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017110620171020
233596refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017110620171020
234720refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017110620171020
235832refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017110620171020
236636refgcc -O -fomit-frame-pointer2017110620171020
236976refgcc -march=nocona -O2 -fomit-frame-pointer2017110620171020
237328refgcc -m64 -march=k8 -O -fomit-frame-pointer2017110620171020
237964refgcc -fno-schedule-insns -O -fomit-frame-pointer2017110620171020
238308refgcc -march=barcelona -O -fomit-frame-pointer2017110620171020
239232refgcc -march=nocona -O -fomit-frame-pointer2017110620171020
239328refgcc -march=k8 -O -fomit-frame-pointer2017110620171020
239480refgcc -m64 -O -fomit-frame-pointer2017110620171020
240096refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017110620171020
242564refgcc -m64 -march=nocona -O -fomit-frame-pointer2017110620171020
272516refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017110620171020
272548refgcc -march=nocona -Os -fomit-frame-pointer2017110620171020
274792refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017110620171020
275008refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017110620171020
277448refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017110620171020
277804refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017110620171020
279324refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017110620171020
279544refgcc -funroll-loops -Os -fomit-frame-pointer2017110620171020
281552refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017110620171020
281732refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017110620171020
282048refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017110620171020
282700refgcc -m64 -Os -fomit-frame-pointer2017110620171020
282768refgcc -march=barcelona -Os -fomit-frame-pointer2017110620171020
282788refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017110620171020
283244refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017110620171020
284408refgcc -march=k8 -Os -fomit-frame-pointer2017110620171020
284736refgcc -Os -fomit-frame-pointer2017110620171020
285228refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017110620171020
598460refgcc2017110620171020
603060refgcc -funroll-loops2017110620171020
603108refcc2017110620171020

Test failure

Implementation: crypto_encrypt/ntruees439ep1/ref
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref

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: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -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