Implementation notes: amd64, enigma, crypto_aead/tiaoxinv1

Computer: enigma
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20140529
Operation: crypto_aead
Primitive: tiaoxinv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
3322836refgcc -march=barcelona -O3 -fomit-frame-pointer2014060520140529
3332502refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060520140529
3333060refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060520140529
3355857refgcc -m64 -O3 -fomit-frame-pointer2014060520140529
3356874refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014060520140529
3359556refgcc -march=k8 -O3 -fomit-frame-pointer2014060520140529
3364056refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014060520140529
3364110refgcc -O3 -fomit-frame-pointer2014060520140529
3366774refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014060520140529
3375297refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014060520140529
3376161refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014060520140529
3378474refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014060520140529
3461724refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014060520140529
3465558refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014060520140529
3471057refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014060520140529
3473946refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014060520140529
3480813refgcc -funroll-loops -O2 -fomit-frame-pointer2014060520140529
3483297refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014060520140529
3484584refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014060520140529
3611142refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014060520140529
3611457refgcc -funroll-loops -O3 -fomit-frame-pointer2014060520140529
3612375refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014060520140529
3617271refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014060520140529
3620106refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014060520140529
3621177refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014060520140529
3624615refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014060520140529
3944457refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014060520140529
3947706refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014060520140529
3963618refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014060520140529
3992463refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014060520140529
3992643refgcc -funroll-loops -O -fomit-frame-pointer2014060520140529
4037814refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014060520140529
4617756refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014060520140529
4633515refgcc -march=nocona -O3 -fomit-frame-pointer2014060520140529
4700232refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014060520140529
4703913refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014060520140529
4927266refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014060520140529
4927581refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014060520140529
5293188refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014060520140529
5352813refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014060520140529
5414877refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014060520140529
6738084refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014060520140529
6850431refgcc -m64 -O2 -fomit-frame-pointer2014060520140529
6851889refgcc -O2 -fomit-frame-pointer2014060520140529
7188651refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014060520140529
7207992refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014060520140529
7208694refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014060520140529
7223949refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014060520140529
7357095refgcc -march=nocona -O2 -fomit-frame-pointer2014060520140529
7357167refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014060520140529
7415388refgcc -march=barcelona -O2 -fomit-frame-pointer2014060520140529
7416900refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060520140529
7418052refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060520140529
7515414refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014060520140529
7516053refgcc -march=k8 -O2 -fomit-frame-pointer2014060520140529
7831998refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014060520140529
7836327refgcc -m64 -march=core2 -O -fomit-frame-pointer2014060520140529
7927731refgcc -m64 -O -fomit-frame-pointer2014060520140529
7933095refgcc -fno-schedule-insns -O -fomit-frame-pointer2014060520140529
7960527refgcc -O -fomit-frame-pointer2014060520140529
8012700refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014060520140529
8029908refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014060520140529
8110944refgcc -m64 -march=k8 -O -fomit-frame-pointer2014060520140529
8111736refgcc -march=k8 -O -fomit-frame-pointer2014060520140529
8437572refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014060520140529
8438427refgcc -march=barcelona -O -fomit-frame-pointer2014060520140529
8442774refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014060520140529
8978517refgcc -march=nocona -O -fomit-frame-pointer2014060520140529
8982288refgcc -m64 -march=nocona -O -fomit-frame-pointer2014060520140529
11945178refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014060520140529
11945295refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014060520140529
11957220refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014060520140529
11958660refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014060520140529
11959038refgcc -funroll-loops -Os -fomit-frame-pointer2014060520140529
11959182refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014060520140529
11960280refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014060520140529
11962224refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014060520140529
11962737refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014060520140529
12006279refgcc -march=k8 -Os -fomit-frame-pointer2014060520140529
12007800refgcc -Os -fomit-frame-pointer2014060520140529
12010059refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014060520140529
12011328refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014060520140529
12011328refgcc -march=barcelona -Os -fomit-frame-pointer2014060520140529
12011616refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060520140529
12011796refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060520140529
12012183refgcc -m64 -Os -fomit-frame-pointer2014060520140529
12020805refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014060520140529
12020904refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014060520140529
12022119refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014060520140529
12026286refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014060520140529
12129615refgcc -march=nocona -Os -fomit-frame-pointer2014060520140529
12130218refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014060520140529
25154307refcc2014060520140529
25158429refgcc2014060520140529
25182162refgcc -funroll-loops2014060520140529

Compiler output

Implementation: crypto_aead/tiaoxinv1/opt
Compiler: cc
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:130: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: ...
tiaoxin-optimized.c: tiaoxin-optimized.c:456: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:456: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:456: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:456: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'

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

Compiler output

Implementation: crypto_aead/tiaoxinv1/opt
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:130: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: ...
tiaoxin-optimized.c: tiaoxin-optimized.c:456: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:456: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:456: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:456: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:129: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:130: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: ...
tiaoxin-optimized.c: tiaoxin-optimized.c:456: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:456: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:456: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:456: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: tiaoxin-optimized.c:457: error: incompatible types when assigning to type '__m128i' from type 'int'

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