Implementation notes: amd64, glyme, crypto_aead/aes128marble4rv1

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: aes128marble4rv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
267484refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020220170105
267548refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
267548refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
267692refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
267712refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
268916refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020220170105
347192refgcc -funroll-loops -O2 -fomit-frame-pointer2017020220170105
347192refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020220170105
347272refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020220170105
347368refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020220170105
347688refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020220170105
352088refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020220170105
352388refgcc -funroll-loops -O3 -fomit-frame-pointer2017020220170105
352624refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020220170105
352908refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020220170105
353304refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020220170105
355484refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020220170105
355616refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020220170105
355660refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020220170105
356392refgcc -funroll-loops -O -fomit-frame-pointer2017020220170105
356856refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020220170105
357472refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020220170105
357964refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020220170105
358368refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020220170105
359116refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020220170105
360076refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020220170105
360084refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020220170105
360104refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020220170105
360108refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020220170105
360176refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020220170105
360292refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020220170105
360664refgcc -O3 -fomit-frame-pointer2017020220170105
360740refgcc -m64 -O3 -fomit-frame-pointer2017020220170105
360780refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020220170105
361076refgcc -m64 -O2 -fomit-frame-pointer2017020220170105
361448refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020220170105
361852refgcc -march=k8 -O2 -fomit-frame-pointer2017020220170105
362248refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020220170105
362400refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020220170105
362560refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020220170105
362900refgcc -O2 -fomit-frame-pointer2017020220170105
362952refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020220170105
363248refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020220170105
364548refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020220170105
365468refgcc -march=k8 -O3 -fomit-frame-pointer2017020220170105
365488refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020220170105
365924refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020220170105
365952refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020220170105
367480refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020220170105
368532refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020220170105
369364refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020220170105
370084refgcc -m64 -O -fomit-frame-pointer2017020220170105
370184refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020220170105
370316refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020220170105
371032refgcc -O -fomit-frame-pointer2017020220170105
371140refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020220170105
371664refgcc -march=nocona -O3 -fomit-frame-pointer2017020220170105
371804refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020220170105
371908refgcc -march=k8 -O -fomit-frame-pointer2017020220170105
372156refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020220170105
372180refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020220170105
372832refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020220170105
373156refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020220170105
373192refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020220170105
374248refgcc -march=barcelona -O3 -fomit-frame-pointer2017020220170105
374352refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020220170105
374400refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020220170105
375312refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020220170105
376716refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020220170105
376720refgcc -march=barcelona -O2 -fomit-frame-pointer2017020220170105
387028refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020220170105
387464refgcc -march=barcelona -Os -fomit-frame-pointer2017020220170105
387788refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020220170105
388424refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020220170105
392896refgcc -march=nocona -O2 -fomit-frame-pointer2017020220170105
392908refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020220170105
396704refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020220170105
410032refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020220170105
410436refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020220170105
410884refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020220170105
410920refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020220170105
411128refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020220170105
412208refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020220170105
412868refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020220170105
413928refgcc -funroll-loops -Os -fomit-frame-pointer2017020220170105
414368refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020220170105
424020refgcc -march=nocona -O -fomit-frame-pointer2017020220170105
424192refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020220170105
424224refgcc -march=barcelona -O -fomit-frame-pointer2017020220170105
426304refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020220170105
426356refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020220170105
426472refgcc -march=nocona -Os -fomit-frame-pointer2017020220170105
426672refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020220170105
426948refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020220170105
427076refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020220170105
427344refgcc -Os -fomit-frame-pointer2017020220170105
427552refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020220170105
427672refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020220170105
427720refgcc -m64 -Os -fomit-frame-pointer2017020220170105
427944refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020220170105
429952refgcc -march=k8 -Os -fomit-frame-pointer2017020220170105
437640refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020220170105
1437688refcc2017020220170105
1622508refgcc -funroll-loops2017020220170105
1629824refgcc2017020220170105

Compiler output

Implementation: crypto_aead/aes128marble4rv1/ref
Compiler: cc
encrypt.c: encrypt.c:34:2: warning: implicit declaration of function 'free' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: free(cxt);
encrypt.c: ^
encrypt.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 7, namely:
CompilerImplementations
cc ref
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/aes128marble4rv1/ref
Compiler: gcc
encrypt.c: encrypt.c: In function 'crypto_aead_aes128marble4rv1_ref_encrypt':
encrypt.c: encrypt.c:34:2: warning: implicit declaration of function 'free' [-Wimplicit-function-declaration]
encrypt.c: free(cxt);
encrypt.c: ^~~~
encrypt.c: encrypt.c:34:2: warning: incompatible implicit declaration of built-in function 'free'
encrypt.c: encrypt.c:34:2: note: include 'gt;' or provide a declaration of 'free'
encrypt.c: encrypt.c: In function 'crypto_aead_aes128marble4rv1_ref_decrypt':
encrypt.c: encrypt.c:67:2: warning: incompatible implicit declaration of built-in function 'free'
encrypt.c: free(cxt);
encrypt.c: ^~~~
encrypt.c: encrypt.c:67:2: note: include 'gt;' or provide a declaration of 'free'

Number of similar (compiler,implementation) pairs: 94, namely:
CompilerImplementations
gcc ref
gcc -O2 -fomit-frame-pointer ref
gcc -O3 -fomit-frame-pointer ref
gcc -O -fomit-frame-pointer ref
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops ref
gcc -funroll-loops -O2 -fomit-frame-pointer ref
gcc -funroll-loops -O3 -fomit-frame-pointer ref
gcc -funroll-loops -O -fomit-frame-pointer ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc -m64 -O2 -fomit-frame-pointer ref
gcc -m64 -O3 -fomit-frame-pointer ref
gcc -m64 -O -fomit-frame-pointer ref
gcc -m64 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O -fomit-frame-pointer ref
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ref
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -march=barcelona -O2 -fomit-frame-pointer ref
gcc -march=barcelona -O3 -fomit-frame-pointer ref
gcc -march=barcelona -O -fomit-frame-pointer ref
gcc -march=barcelona -Os -fomit-frame-pointer ref
gcc -march=k8 -O2 -fomit-frame-pointer ref
gcc -march=k8 -O3 -fomit-frame-pointer ref
gcc -march=k8 -O -fomit-frame-pointer ref
gcc -march=k8 -Os -fomit-frame-pointer ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref
gcc -march=nocona -O2 -fomit-frame-pointer ref
gcc -march=nocona -O3 -fomit-frame-pointer ref
gcc -march=nocona -O -fomit-frame-pointer ref
gcc -march=nocona -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/aes128marble4rv1/ref
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: encrypt.c: In function 'crypto_aead_aes128marble4rv1_ref_encrypt':
encrypt.c: encrypt.c:34:2: warning: implicit declaration of function 'free' [-Wimplicit-function-declaration]
encrypt.c: free(cxt);
encrypt.c: ^~~~
encrypt.c: encrypt.c:34:2: warning: incompatible implicit declaration of built-in function 'free'
encrypt.c: encrypt.c:34:2: note: include 'gt;' or provide a declaration of 'free'
encrypt.c: encrypt.c: In function 'crypto_aead_aes128marble4rv1_ref_decrypt':
encrypt.c: encrypt.c:67:2: warning: incompatible implicit declaration of built-in function 'free'
encrypt.c: free(cxt);
encrypt.c: ^~~~
encrypt.c: encrypt.c:67:2: note: include 'gt;' or provide a declaration of 'free'
encrypt.c: encrypt.c: In function 'crypto_aead_aes128marble4rv1_ref_encrypt':
encrypt.c: encrypt.c:34:2: warning: implicit declaration of function 'free' [-Wimplicit-function-declaration]
encrypt.c: free(cxt);
encrypt.c: ^~~~
encrypt.c: encrypt.c:34:2: warning: incompatible implicit declaration of built-in function 'free'
encrypt.c: encrypt.c:34:2: note: include 'gt;' or provide a declaration of 'free'
encrypt.c: encrypt.c: In function 'crypto_aead_aes128marble4rv1_ref_decrypt':
encrypt.c: encrypt.c:67:2: warning: incompatible implicit declaration of built-in function 'free'
encrypt.c: free(cxt);
encrypt.c: ^~~~
encrypt.c: encrypt.c:67:2: note: include 'gt;' or provide a declaration of 'free'

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