Implementation notes: amd64, skylake, crypto_aead/iscream12v2

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: iscream12v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
69612ssegcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
69808ssegcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
70480ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
72022ssegcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
72234ssegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
73884ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
73984ssegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
74004ssegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
74846ssegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
76382ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
76626sseclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
76686sseclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
77012sseclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
77212ssegcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
77466ssegcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
77558ssegcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
77602sseclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
77642ssegcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
77652ssegcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
77676sseclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
78216ssegcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
78400ssegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
79800sseclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
80812ssegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
81312ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
81716ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
82218ssegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
82322ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
82370ssegcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
82424ssegcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
82460ssegcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
82944ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
83062ssegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
83874ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
87442ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
87474ssegcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
87518ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
87680ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
118452ssegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
118460ssegcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
118536ssegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
119658ssegcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
297130refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
297668refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
298048refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
298132refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
298814refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
298832refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
298906refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
299064refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
299556refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
299838refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
299956refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
300196refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
300292refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
301374refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
302888refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
303176refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
306110refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
306332refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
306926refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
307868refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
309100refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
314812refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
314966refgcc -O3 -fomit-frame-pointer2016121620161026
315462refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
320988refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
321234refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
321408refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
394074refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
394364refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
395034refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
395062refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
396476refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
400348refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
423484refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
424558refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
424686refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
425114refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
538650refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
538902refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
539262refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
539724refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
540150refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
540786refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
544080refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
545830refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
546136refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
547242refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
547390refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
547408refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
547738refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
548478refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
551752refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
553252refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
554110refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
554220refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
592424refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
594204refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
596284refgcc -O2 -fomit-frame-pointer2016121620161026
596820refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
596968refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
596996refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
597716refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
597978refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
598620refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
598802refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
598918refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
599618refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
599622refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
602360refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
603438refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
603708refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
604458refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
605816refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
606702refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
606712refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
607436refgcc -m64 -O -fomit-frame-pointer2016121620161026
607494refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
607550refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
607908refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
608020refgcc -O -fomit-frame-pointer2016121620161026
608208refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
608528refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
610262refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
610264refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
610738refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
610862refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
611764refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
612042refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
613638refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
614252refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
615038refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
742868refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
743538refgcc -Os -fomit-frame-pointer2016121620161026
743582refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
743928refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
744032refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
744096refgcc -m64 -Os -fomit-frame-pointer2016121620161026
744544refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
744748refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
746074refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
746458refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
746582refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
747510refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
747618refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
749094refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
749350refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
749396refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
751078refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
751358refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
1128028refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
1129474refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
1129498refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
1130042refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
1132342refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
1133642refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
1133898refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
1136020refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
1141154refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
1837926refgcc2016121620161026
1844240refcc2016121620161026
1859156refgcc -funroll-loops2016121620161026

Compiler output

Implementation: crypto_aead/iscream12v2/sse
Compiler: cc
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:184: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:184: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:185: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:189: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:190: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:197: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:198: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:202: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/iscream12v2/sse
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
iscream.c: iscream.c:184:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:185:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: C = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:189:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: B = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:190:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: D = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:197:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ^
iscream.c: iscream.c:198:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
iscream.c: ^
iscream.c: iscream.c:202:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ^
iscream.c: iscream.c:203:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: D ^= __builtin_ia32_pshufb128(table, in[2]);
iscream.c: ^
iscream.c: iscream.c:210: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/iscream12v2/sse
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:184: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:184: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:185: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:189: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:190: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:197: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:198: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:202: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:184: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:184: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:185: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:189: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:190: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:197: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:198: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:202: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