Implementation notes: amd64, hydra1, crypto_aead/pi32cipher128v1

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_aead
Primitive: pi32cipher128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
132755optimized_nonSSEgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102020161009
132891optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102020161009
132920optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102020161009
132945optimized_nonSSEgcc -funroll-loops -O2 -fomit-frame-pointer2016102020161009
133040optimized_nonSSEgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102020161009
133061optimized_nonSSEgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102020161009
133104optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102020161009
134179optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102020161009
134309optimized_nonSSEgcc -funroll-loops -O3 -fomit-frame-pointer2016102020161009
134309optimized_nonSSEgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102020161009
135211optimized_nonSSEgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102020161009
135215optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102020161009
135584optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102020161009
135709optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102020161009
135872optimized_nonSSEgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102020161009
135939optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102020161009
135988optimized_nonSSEgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102020161009
136045optimized_nonSSEgcc -funroll-loops -m64 -O -fomit-frame-pointer2016102020161009
136049optimized_nonSSEgcc -funroll-loops -O -fomit-frame-pointer2016102020161009
136170optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102020161009
136235optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102020161009
136254optimized_nonSSEgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102020161009
137035optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102020161009
137178optimized_nonSSEgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102020161009
137181optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102020161009
137271optimized_nonSSEgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102020161009
137456optimized_nonSSEgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102020161009
138054optimized_nonSSEgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102020161009
138131optimized_nonSSEgcc -m64 -O3 -fomit-frame-pointer2016102020161009
138160optimized_nonSSEgcc -O3 -fomit-frame-pointer2016102020161009
138760optimized_nonSSEgcc -march=barcelona -O3 -fomit-frame-pointer2016102020161009
138784optimized_nonSSEgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102020161009
138836optimized_nonSSEgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102020161009
138898optimized_nonSSEgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102020161009
139022optimized_nonSSEgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102020161009
139061optimized_nonSSEgcc -march=k8 -O3 -fomit-frame-pointer2016102020161009
139680optimized_nonSSEgcc -march=nocona -O3 -fomit-frame-pointer2016102020161009
139823optimized_nonSSEgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102020161009
209707optimized_nonSSEgcc -march=barcelona -O2 -fomit-frame-pointer2016102020161009
209715optimized_nonSSEgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102020161009
209715optimized_nonSSEgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102020161009
210386optimized_nonSSEgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102020161009
212840optimized_nonSSEgcc -march=k8 -O2 -fomit-frame-pointer2016102020161009
213032refgcc -funroll-loops -O3 -fomit-frame-pointer2016102020161009
213053refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102020161009
213057refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102020161009
213080optimized_nonSSEgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102020161009
213507optimized_nonSSEgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102020161009
214294refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102020161009
214320refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102020161009
214389refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102020161009
214400refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102020161009
214817optimized_nonSSEgcc -O2 -fomit-frame-pointer2016102020161009
214818optimized_nonSSEgcc -m64 -O2 -fomit-frame-pointer2016102020161009
215643optimized_nonSSEgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016102020161009
216189optimized_nonSSEgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016102020161009
216379optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102020161009
216410optimized_nonSSEgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102020161009
216643refgcc -O3 -fomit-frame-pointer2016102020161009
216774refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102020161009
216824refgcc -m64 -O3 -fomit-frame-pointer2016102020161009
218704refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102020161009
218809optimized_nonSSEgcc -march=nocona -O2 -fomit-frame-pointer2016102020161009
218851refgcc -march=k8 -O3 -fomit-frame-pointer2016102020161009
218949optimized_nonSSEgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102020161009
219829refgcc -march=barcelona -O3 -fomit-frame-pointer2016102020161009
220291refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102020161009
222662refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102020161009
225053refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102020161009
228453optimized_nonSSEgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016102020161009
228501optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016102020161009
228582optimized_nonSSEgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016102020161009
228901optimized_nonSSEgcc -m64 -march=core2 -Os -fomit-frame-pointer2016102020161009
231629optimized_nonSSEgcc -march=k8 -Os -fomit-frame-pointer2016102020161009
232104optimized_nonSSEgcc -Os -fomit-frame-pointer2016102020161009
232217optimized_nonSSEgcc -m64 -march=k8 -Os -fomit-frame-pointer2016102020161009
235133optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016102020161009
235173optimized_nonSSEgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016102020161009
235342optimized_nonSSEgcc -m64 -Os -fomit-frame-pointer2016102020161009
235662optimized_nonSSEgcc -fno-schedule-insns -Os -fomit-frame-pointer2016102020161009
236533optimized_nonSSEgcc -m64 -march=k8 -O -fomit-frame-pointer2016102020161009
236669optimized_nonSSEgcc -march=k8 -O -fomit-frame-pointer2016102020161009
236998optimized_nonSSEgcc -march=nocona -Os -fomit-frame-pointer2016102020161009
237085optimized_nonSSEgcc -m64 -march=nocona -Os -fomit-frame-pointer2016102020161009
237312refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102020161009
237874refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102020161009
238085optimized_nonSSEgcc -m64 -march=corei7 -O -fomit-frame-pointer2016102020161009
238840optimized_nonSSEgcc -m64 -march=nocona -O -fomit-frame-pointer2016102020161009
238923optimized_nonSSEgcc -march=nocona -O -fomit-frame-pointer2016102020161009
239165optimized_nonSSEgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016102020161009
239386refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102020161009
239390refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016102020161009
239576refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102020161009
239646refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102020161009
239646refgcc -march=nocona -O3 -fomit-frame-pointer2016102020161009
239666optimized_nonSSEgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016102020161009
239794optimized_nonSSEgcc -m64 -march=core2 -O -fomit-frame-pointer2016102020161009
239879refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102020161009
239888refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102020161009
239892optimized_nonSSEgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016102020161009
239912optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102020161009
239958refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102020161009
239976optimized_nonSSEgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016102020161009
240113optimized_nonSSEgcc -funroll-loops -Os -fomit-frame-pointer2016102020161009
240172optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016102020161009
240176refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102020161009
240256optimized_nonSSEgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102020161009
240317refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102020161009
240350optimized_nonSSEgcc -m64 -march=barcelona -O -fomit-frame-pointer2016102020161009
240498optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016102020161009
240539refgcc -funroll-loops -O -fomit-frame-pointer2016102020161009
240578optimized_nonSSEgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102020161009
241008optimized_nonSSEgcc -march=barcelona -O -fomit-frame-pointer2016102020161009
241989optimized_nonSSEgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016102020161009
242018optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016102020161009
242166optimized_nonSSEgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016102020161009
242317optimized_nonSSEgcc -O -fomit-frame-pointer2016102020161009
242342optimized_nonSSEgcc -march=barcelona -Os -fomit-frame-pointer2016102020161009
242626optimized_nonSSEgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016102020161009
242768optimized_nonSSEgcc -fno-schedule-insns -O -fomit-frame-pointer2016102020161009
243221optimized_nonSSEgcc -m64 -O -fomit-frame-pointer2016102020161009
250285refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102020161009
250343refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102020161009
251470refgcc -funroll-loops -O2 -fomit-frame-pointer2016102020161009
251593refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102020161009
251709refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102020161009
251757refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102020161009
252358refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102020161009
272411refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102020161009
272421refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102020161009
278446refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102020161009
279189refgcc -m64 -O2 -fomit-frame-pointer2016102020161009
279507refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102020161009
279558refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102020161009
280029refgcc -march=k8 -O2 -fomit-frame-pointer2016102020161009
280165refgcc -O2 -fomit-frame-pointer2016102020161009
280306refgcc -march=barcelona -O2 -fomit-frame-pointer2016102020161009
281589refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102020161009
283616refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102020161009
284624refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016102020161009
284823refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102020161009
286699refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102020161009
288109refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016102020161009
288509refgcc -march=barcelona -Os -fomit-frame-pointer2016102020161009
289024refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016102020161009
289901refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016102020161009
291149refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016102020161009
293757refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016102020161009
293957refgcc -m64 -Os -fomit-frame-pointer2016102020161009
294197refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016102020161009
294354refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016102020161009
294501refgcc -march=k8 -Os -fomit-frame-pointer2016102020161009
294512refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016102020161009
294571refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016102020161009
294619refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016102020161009
294965refgcc -Os -fomit-frame-pointer2016102020161009
297003refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016102020161009
297293refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016102020161009
297382refgcc -funroll-loops -Os -fomit-frame-pointer2016102020161009
305253refgcc -march=nocona -O2 -fomit-frame-pointer2016102020161009
305912refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102020161009
318214refgcc -march=nocona -Os -fomit-frame-pointer2016102020161009
318493refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016102020161009
318669refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016102020161009
318786refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016102020161009
318957refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102020161009
319102refgcc -march=barcelona -O -fomit-frame-pointer2016102020161009
319204refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016102020161009
319394refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016102020161009
319546refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102020161009
319730refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016102020161009
320002refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016102020161009
320242refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016102020161009
321257refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016102020161009
321377refgcc -fno-schedule-insns -O -fomit-frame-pointer2016102020161009
321608refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016102020161009
321797refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102020161009
321819refgcc -m64 -march=nocona -O -fomit-frame-pointer2016102020161009
321978refgcc -O -fomit-frame-pointer2016102020161009
322192refgcc -m64 -march=core2 -O -fomit-frame-pointer2016102020161009
322202refgcc -m64 -march=k8 -O -fomit-frame-pointer2016102020161009
322736refgcc -march=k8 -O -fomit-frame-pointer2016102020161009
323458refgcc -m64 -O -fomit-frame-pointer2016102020161009
325115refgcc -march=nocona -O -fomit-frame-pointer2016102020161009
1383923optimized_nonSSEcc2016102020161009
1412251optimized_nonSSEgcc2016102020161009
1461214optimized_nonSSEgcc -funroll-loops2016102020161009
1596096refgcc2016102020161009
1597579refcc2016102020161009
1604640refgcc -funroll-loops2016102020161009

Test failure

Implementation: crypto_aead/pi32cipher128v1/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/pi32cipher128v1/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/pi32cipher128v1/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/pi32cipher128v1/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