Implementation notes: amd64, skylake, crypto_aead/iscream14v1

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: iscream14v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
80488ssegcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
80752ssegcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
81934ssegcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
82002ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
83978ssegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
86100ssegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
86156ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
86398ssegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
87948ssegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
88584ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
89378ssegcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
89398ssegcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
89470ssegcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
89806ssegcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
89954sseclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
90048sseclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
90062sseclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
90154sseclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
90224sseclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
90390ssegcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
90474ssegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
90946ssegcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
93876ssegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
94720ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
95010ssegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
95278ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
95450ssegcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
95544ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
95558ssegcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
95570ssegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
96370ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
96402ssegcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
97042ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
101048ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
101282ssegcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
101734ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
102376ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
112486sseclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
137254ssegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
137362ssegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
137364ssegcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
137574ssegcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
340348refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
340648refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
340654refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
340716refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
340930refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
341112refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
341508refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
341554refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
342246refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
343376refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
343450refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
343604refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
343718refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
343834refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
344144refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
344382refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
345802refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
350122refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
350264refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
350378refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
350680refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
357820refgcc -O3 -fomit-frame-pointer2016121620161026
358016refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
358090refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
362824refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
363970refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
366010refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
454102refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
454154refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
456870refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
459238refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
459810refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
464736refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
488778refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
488824refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
491608refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
495382refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
621674refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
622062refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
622144refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
622676refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
624352refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
625228refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
625674refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
627448refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
627514refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
629460refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
630238refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
632092refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
632674refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
632726refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
633534refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
635812refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
637072refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
638574refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
683756refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
685684refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
688450refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
688580refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
688870refgcc -O2 -fomit-frame-pointer2016121620161026
688936refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
688936refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
689018refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
689422refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
690470refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
690606refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
690838refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
691282refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
691360refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
691476refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
691566refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
692920refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
697798refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
697876refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
698986refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
702450refgcc -m64 -O -fomit-frame-pointer2016121620161026
703522refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
704448refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
704674refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
705128refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
705404refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
705484refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
706116refgcc -O -fomit-frame-pointer2016121620161026
706224refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
706276refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
708622refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
708810refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
708872refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
709590refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
709894refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
709972refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
860910refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
861668refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
861968refgcc -Os -fomit-frame-pointer2016121620161026
862046refgcc -m64 -Os -fomit-frame-pointer2016121620161026
862086refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
862202refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
862392refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
862590refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
863784refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
864646refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
864794refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
864910refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
865180refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
867144refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
867302refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
867512refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
870264refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
870902refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
1311620refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
1312930refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
1313146refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
1313196refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
1314242refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
1314828refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
1316680refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
1317864refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
1318004refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
2119512refgcc2016121620161026
2139700refcc2016121620161026
2141724refgcc -funroll-loops2016121620161026

Compiler output

Implementation: crypto_aead/iscream14v1/sse
Compiler: cc
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:203:10: warning: implicit declaration of function '__builtin_ia32_pshufb128' [-Wimplicit-function-declaration]
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
iscream.c: iscream.c:203:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:204:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: C = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:208:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: B = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:209:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: D = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:216:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ^~
iscream.c: iscream.c:217:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
iscream.c: ^~
iscream.c: iscream.c:221:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ^~
iscream.c: ...

Number of similar (compiler,implementation) pairs: 71, namely:
CompilerImplementations
cc sse
gcc sse
gcc -O2 -fomit-frame-pointer sse
gcc -O3 -fomit-frame-pointer sse
gcc -O -fomit-frame-pointer sse
gcc -Os -fomit-frame-pointer sse
gcc -fno-schedule-insns -O2 -fomit-frame-pointer sse
gcc -fno-schedule-insns -O3 -fomit-frame-pointer sse
gcc -fno-schedule-insns -O -fomit-frame-pointer sse
gcc -fno-schedule-insns -Os -fomit-frame-pointer sse
gcc -funroll-loops sse
gcc -funroll-loops -O2 -fomit-frame-pointer sse
gcc -funroll-loops -O3 -fomit-frame-pointer sse
gcc -funroll-loops -O -fomit-frame-pointer sse
gcc -funroll-loops -Os -fomit-frame-pointer sse
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer sse
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer sse
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer sse
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer sse
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -O -fomit-frame-pointer sse
gcc -funroll-loops -m64 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer sse
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer sse
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer sse
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer sse
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer sse
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer sse
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer sse
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer sse
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer sse
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer sse
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer sse
gcc -m64 -O2 -fomit-frame-pointer sse
gcc -m64 -O3 -fomit-frame-pointer sse
gcc -m64 -O -fomit-frame-pointer sse
gcc -m64 -Os -fomit-frame-pointer sse
gcc -m64 -march=k8 -O2 -fomit-frame-pointer sse
gcc -m64 -march=k8 -O3 -fomit-frame-pointer sse
gcc -m64 -march=k8 -O -fomit-frame-pointer sse
gcc -m64 -march=k8 -Os -fomit-frame-pointer sse
gcc -m64 -march=nocona -O2 -fomit-frame-pointer sse
gcc -m64 -march=nocona -O3 -fomit-frame-pointer sse
gcc -m64 -march=nocona -O -fomit-frame-pointer sse
gcc -m64 -march=nocona -Os -fomit-frame-pointer sse
gcc -march=barcelona -O2 -fomit-frame-pointer sse
gcc -march=barcelona -O3 -fomit-frame-pointer sse
gcc -march=barcelona -O -fomit-frame-pointer sse
gcc -march=barcelona -Os -fomit-frame-pointer sse
gcc -march=k8 -O2 -fomit-frame-pointer sse
gcc -march=k8 -O3 -fomit-frame-pointer sse
gcc -march=k8 -O -fomit-frame-pointer sse
gcc -march=k8 -Os -fomit-frame-pointer sse
gcc -march=nocona -O2 -fomit-frame-pointer sse
gcc -march=nocona -O3 -fomit-frame-pointer sse
gcc -march=nocona -O -fomit-frame-pointer sse
gcc -march=nocona -Os -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/iscream14v1/sse
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
iscream.c: iscream.c:203:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:204:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: C = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:208:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: B = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:209:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: D = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:216:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ^
iscream.c: iscream.c:217:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
iscream.c: ^
iscream.c: iscream.c:221:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ^
iscream.c: iscream.c:222:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: D ^= __builtin_ia32_pshufb128(table, in[2]);
iscream.c: ^
iscream.c: iscream.c:229:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: ...

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

Compiler output

Implementation: crypto_aead/iscream14v1/sse
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:203:10: warning: implicit declaration of function '__builtin_ia32_pshufb128' [-Wimplicit-function-declaration]
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
iscream.c: iscream.c:203:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:204:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: C = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:208:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: B = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:209:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: D = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:216:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ^~
iscream.c: iscream.c:217:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
iscream.c: ^~
iscream.c: iscream.c:221:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ^~
iscream.c: ...
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:203:10: warning: implicit declaration of function '__builtin_ia32_pshufb128' [-Wimplicit-function-declaration]
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
iscream.c: iscream.c:203:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:204:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: C = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:208:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: B = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:209:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: D = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:216:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ^~
iscream.c: iscream.c:217:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
iscream.c: ^~
iscream.c: iscream.c:221:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ^~
iscream.c: ...

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