Implementation notes: amd64, hydra1, crypto_aead/pi32cipher256v1

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_aead
Primitive: pi32cipher256v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
132670optimized_nonSSEgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102120161009
132736optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102120161009
132976optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102120161009
132993optimized_nonSSEgcc -funroll-loops -O2 -fomit-frame-pointer2016102120161009
133005optimized_nonSSEgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102120161009
133149optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102120161009
133298optimized_nonSSEgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102120161009
134010optimized_nonSSEgcc -funroll-loops -O3 -fomit-frame-pointer2016102120161009
134090optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102120161009
134104optimized_nonSSEgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102120161009
135273optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102120161009
135405optimized_nonSSEgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102120161009
135482optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102120161009
135507optimized_nonSSEgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102120161009
135516optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102120161009
135523optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102120161009
135553optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102120161009
135563optimized_nonSSEgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102120161009
135750optimized_nonSSEgcc -funroll-loops -m64 -O -fomit-frame-pointer2016102120161009
135752optimized_nonSSEgcc -funroll-loops -O -fomit-frame-pointer2016102120161009
135851optimized_nonSSEgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102120161009
135940optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102120161009
135943optimized_nonSSEgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102120161009
136608optimized_nonSSEgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102120161009
136799optimized_nonSSEgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102120161009
136816optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102120161009
136912optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102120161009
138138optimized_nonSSEgcc -O3 -fomit-frame-pointer2016102120161009
138202optimized_nonSSEgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102120161009
138405optimized_nonSSEgcc -m64 -O3 -fomit-frame-pointer2016102120161009
138858optimized_nonSSEgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102120161009
138869optimized_nonSSEgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102120161009
138885optimized_nonSSEgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102120161009
139053optimized_nonSSEgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102120161009
139056optimized_nonSSEgcc -march=barcelona -O3 -fomit-frame-pointer2016102120161009
139123optimized_nonSSEgcc -march=k8 -O3 -fomit-frame-pointer2016102120161009
139440optimized_nonSSEgcc -march=nocona -O3 -fomit-frame-pointer2016102120161009
139456optimized_nonSSEgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102120161009
209989optimized_nonSSEgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102120161009
210511optimized_nonSSEgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102120161009
212657refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102120161009
212786optimized_nonSSEgcc -O2 -fomit-frame-pointer2016102120161009
212789optimized_nonSSEgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102120161009
212838refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102120161009
212869optimized_nonSSEgcc -m64 -O2 -fomit-frame-pointer2016102120161009
212976refgcc -funroll-loops -O3 -fomit-frame-pointer2016102120161009
213584optimized_nonSSEgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102120161009
213969optimized_nonSSEgcc -march=barcelona -O2 -fomit-frame-pointer2016102120161009
214129refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102120161009
214349refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102120161009
214565refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102120161009
214810refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102120161009
214832optimized_nonSSEgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016102120161009
215206refgcc -m64 -O3 -fomit-frame-pointer2016102120161009
215400refgcc -O3 -fomit-frame-pointer2016102120161009
215400refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102120161009
215450optimized_nonSSEgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016102120161009
215521optimized_nonSSEgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102120161009
215613optimized_nonSSEgcc -march=k8 -O2 -fomit-frame-pointer2016102120161009
216023optimized_nonSSEgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102120161009
218149refgcc -march=k8 -O3 -fomit-frame-pointer2016102120161009
218387optimized_nonSSEgcc -march=nocona -O2 -fomit-frame-pointer2016102120161009
218434refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102120161009
218685optimized_nonSSEgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102120161009
218822optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102120161009
219656refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102120161009
219784refgcc -march=barcelona -O3 -fomit-frame-pointer2016102120161009
219957refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102120161009
220032refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102120161009
224040optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016102120161009
224971optimized_nonSSEgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016102120161009
227583optimized_nonSSEgcc -m64 -march=core2 -Os -fomit-frame-pointer2016102120161009
228196optimized_nonSSEgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016102120161009
231189optimized_nonSSEgcc -Os -fomit-frame-pointer2016102120161009
232090optimized_nonSSEgcc -m64 -march=k8 -Os -fomit-frame-pointer2016102120161009
232147optimized_nonSSEgcc -m64 -Os -fomit-frame-pointer2016102120161009
232319optimized_nonSSEgcc -march=k8 -Os -fomit-frame-pointer2016102120161009
234474optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016102120161009
234645optimized_nonSSEgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016102120161009
234861optimized_nonSSEgcc -fno-schedule-insns -Os -fomit-frame-pointer2016102120161009
234947optimized_nonSSEgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016102120161009
235009optimized_nonSSEgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016102120161009
235624optimized_nonSSEgcc -march=barcelona -Os -fomit-frame-pointer2016102120161009
237666refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102120161009
238203refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102120161009
238241optimized_nonSSEgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016102120161009
238299refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102120161009
238434refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102120161009
238496refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102120161009
238582optimized_nonSSEgcc -march=nocona -O -fomit-frame-pointer2016102120161009
238610refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102120161009
238684optimized_nonSSEgcc -m64 -march=k8 -O -fomit-frame-pointer2016102120161009
238698refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102120161009
238835refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016102120161009
238982refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102120161009
238983refgcc -funroll-loops -O -fomit-frame-pointer2016102120161009
239008refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102120161009
239019optimized_nonSSEgcc -fno-schedule-insns -O -fomit-frame-pointer2016102120161009
239104optimized_nonSSEgcc -O -fomit-frame-pointer2016102120161009
239429optimized_nonSSEgcc -march=nocona -Os -fomit-frame-pointer2016102120161009
239474optimized_nonSSEgcc -m64 -march=nocona -Os -fomit-frame-pointer2016102120161009
239714optimized_nonSSEgcc -march=k8 -O -fomit-frame-pointer2016102120161009
239872optimized_nonSSEgcc -m64 -O -fomit-frame-pointer2016102120161009
239981optimized_nonSSEgcc -m64 -march=corei7 -O -fomit-frame-pointer2016102120161009
240490optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016102120161009
240512optimized_nonSSEgcc -funroll-loops -Os -fomit-frame-pointer2016102120161009
240533optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016102120161009
240538optimized_nonSSEgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016102120161009
240545optimized_nonSSEgcc -m64 -march=core2 -O -fomit-frame-pointer2016102120161009
240603refgcc -march=nocona -O3 -fomit-frame-pointer2016102120161009
240671refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102120161009
240677optimized_nonSSEgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016102120161009
240968optimized_nonSSEgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102120161009
240992optimized_nonSSEgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016102120161009
241208optimized_nonSSEgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102120161009
241597optimized_nonSSEgcc -march=barcelona -O -fomit-frame-pointer2016102120161009
241731optimized_nonSSEgcc -m64 -march=barcelona -O -fomit-frame-pointer2016102120161009
241770optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102120161009
242374optimized_nonSSEgcc -m64 -march=nocona -O -fomit-frame-pointer2016102120161009
243785optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016102120161009
244008optimized_nonSSEgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016102120161009
250334refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102120161009
250458refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102120161009
253051refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102120161009
253216refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102120161009
253246refgcc -funroll-loops -O2 -fomit-frame-pointer2016102120161009
253251refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102120161009
253341refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102120161009
273007refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102120161009
273353refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102120161009
277542refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102120161009
277995refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102120161009
278363refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102120161009
281109refgcc -march=barcelona -O2 -fomit-frame-pointer2016102120161009
281129refgcc -m64 -O2 -fomit-frame-pointer2016102120161009
281323refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102120161009
281701refgcc -O2 -fomit-frame-pointer2016102120161009
283673refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102120161009
283819refgcc -march=k8 -O2 -fomit-frame-pointer2016102120161009
285414refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016102120161009
286187refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102120161009
286320refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102120161009
290077refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016102120161009
290152refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016102120161009
290341refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016102120161009
290365refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016102120161009
291640refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016102120161009
291733refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016102120161009
292564refgcc -funroll-loops -Os -fomit-frame-pointer2016102120161009
292805refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016102120161009
292826refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016102120161009
292907refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016102120161009
293578refgcc -march=barcelona -Os -fomit-frame-pointer2016102120161009
293715refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016102120161009
294989refgcc -Os -fomit-frame-pointer2016102120161009
295257refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016102120161009
295285refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016102120161009
295944refgcc -m64 -Os -fomit-frame-pointer2016102120161009
298765refgcc -march=k8 -Os -fomit-frame-pointer2016102120161009
306626refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102120161009
307288refgcc -march=nocona -O2 -fomit-frame-pointer2016102120161009
317939refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016102120161009
318144refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016102120161009
318709refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102120161009
318984refgcc -march=barcelona -O -fomit-frame-pointer2016102120161009
319056refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102120161009
319085refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016102120161009
319142refgcc -O -fomit-frame-pointer2016102120161009
319157refgcc -march=nocona -O -fomit-frame-pointer2016102120161009
319229refgcc -fno-schedule-insns -O -fomit-frame-pointer2016102120161009
319405refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016102120161009
319434refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016102120161009
319448refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016102120161009
319542refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016102120161009
319630refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016102120161009
319706refgcc -m64 -O -fomit-frame-pointer2016102120161009
320461refgcc -m64 -march=core2 -O -fomit-frame-pointer2016102120161009
320989refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102120161009
321608refgcc -march=nocona -Os -fomit-frame-pointer2016102120161009
321813refgcc -march=k8 -O -fomit-frame-pointer2016102120161009
321918refgcc -m64 -march=k8 -O -fomit-frame-pointer2016102120161009
322032refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016102120161009
322232refgcc -m64 -march=nocona -O -fomit-frame-pointer2016102120161009
327485refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016102120161009
1387828optimized_nonSSEcc2016102120161009
1390695optimized_nonSSEgcc2016102120161009
1447802optimized_nonSSEgcc -funroll-loops2016102120161009
1604444refcc2016102120161009
1606890refgcc2016102120161009
1615660refgcc -funroll-loops2016102120161009

Test failure

Implementation: crypto_aead/pi32cipher256v1/optimized_nonSSE
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments optimized_nonSSE ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments optimized_nonSSE ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE ref

Test failure

Implementation: crypto_aead/pi32cipher256v1/optimized_nonSSE
Compiler: gcc -m64 -march=core2 -O3 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m64 -march=core2 -O3 -fomit-frame-pointer optimized_nonSSE ref

Compiler output

Implementation: crypto_aead/pi32cipher256v1/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:240:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:354:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:508:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings generated.

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -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

Compiler output

Implementation: crypto_aead/pi32cipher256v1/optimized_nonSSE
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:354:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:468:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:622:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings generated.

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE