Implementation notes: amd64, skylake, crypto_aead/iscream12v1

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: iscream12v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
70096ssegcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
70332ssegcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
70738ssegcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
71900ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
72474ssegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
74800ssegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
74878ssegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
74888ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
74984ssegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
77340ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
77582sseclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
77650ssegcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
77868sseclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
77884sseclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
77908ssegcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
78162ssegcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
78246sseclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
78254ssegcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
78590ssegcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
78684ssegcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
79446sseclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
79460ssegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
79616sseclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
81624ssegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
82778ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
82850ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
83246ssegcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
83300ssegcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
83410ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
83712ssegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
83998ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
84028ssegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
84176ssegcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
84176ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
88182ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
88384ssegcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
89184ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
89570ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
119166ssegcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
119220ssegcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
119312ssegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
121078ssegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
298168refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
298200refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
298224refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
298360refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
298566refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
298642refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
299014refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
299058refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
299174refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
299226refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
300460refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
300528refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
300652refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
301140refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
301182refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
303318refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
304504refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
306692refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
306972refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
307096refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
311338refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
314852refgcc -O3 -fomit-frame-pointer2016121620161026
315422refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
316854refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
321054refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
321414refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
321522refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
394758refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
394878refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
396758refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
396842refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
398122refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
400928refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
424376refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
425128refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
425286refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
426174refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
538400refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
538500refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
538510refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
539530refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
539554refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
539776refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
540864refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
544976refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
545372refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
546658refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
546712refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
546788refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
547754refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
548292refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
548376refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
549658refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
551592refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
557326refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
591954refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
592156refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
593536refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
593894refgcc -O2 -fomit-frame-pointer2016121620161026
596250refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
596580refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
596730refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
596924refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
597276refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
597508refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
597918refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
598578refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
598808refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
598844refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
598968refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
599196refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
599200refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
601934refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
605168refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
606618refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
607318refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
607400refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
608072refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
608120refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
608122refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
608924refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
609612refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
610656refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
611030refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
611186refgcc -O -fomit-frame-pointer2016121620161026
611868refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
613132refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
613308refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
613508refgcc -m64 -O -fomit-frame-pointer2016121620161026
613542refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
614834refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
744652refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
744718refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
745772refgcc -m64 -Os -fomit-frame-pointer2016121620161026
745786refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
746568refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
746862refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
747354refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
747464refgcc -Os -fomit-frame-pointer2016121620161026
747796refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
747972refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
748474refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
748550refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
748712refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
749538refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
749882refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
751020refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
752664refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
754676refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
1127772refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
1130558refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
1132090refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
1132144refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
1133312refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
1133364refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
1134710refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
1136722refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
1141356refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
1849772refgcc2016121620161026
1850416refgcc -funroll-loops2016121620161026
1853342refcc2016121620161026

Compiler output

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