Implementation notes: amd64, skylake, crypto_aead/iscream14v2

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: iscream14v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
80202ssegcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
80738ssegcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
81030ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
81308ssegcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
83284ssegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
84966ssegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
85034ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
85124ssegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
85588ssegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
87816ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
88778ssegcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
88868sseclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
88916sseclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
89054sseclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
89064sseclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
89256ssegcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
89530ssegcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
89918ssegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
90040sseclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
90086ssegcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
90130ssegcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
90370ssegcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
93180ssegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
93950ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
94476ssegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
94574ssegcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
94858ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
94862ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
95098ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
95552ssegcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
95882ssegcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
95960ssegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
96102ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
100472ssegcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
100496ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
101218ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
102318ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
114444sseclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
136524ssegcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
136576ssegcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
136752ssegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
136948ssegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
339978refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
341014refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
341154refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
341340refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
341346refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
341352refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
341452refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
342040refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
342660refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
342950refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
343030refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
343334refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
343386refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
343984refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
344800refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
345588refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
346044refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
350170refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
351208refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
351222refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
352312refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
357802refgcc -O3 -fomit-frame-pointer2016121620161026
358760refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
359374refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
362518refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
366352refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
366988refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
453690refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
453854refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
454910refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
457364refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
461594refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
462110refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
487836refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
488042refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
489744refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
492400refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
622654refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
623726refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
624150refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
624452refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
624892refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
627710refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
629168refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
630270refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
631790refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
632570refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
632746refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
632960refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
633546refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
633954refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
636818refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
637878refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
638530refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
640480refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
683424refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
685702refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
686246refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
687274refgcc -O2 -fomit-frame-pointer2016121620161026
687800refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
688002refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
688344refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
688766refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
689990refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
692170refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
692588refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
692862refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
693134refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
693922refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
695306refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
695950refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
696396refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
698154refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
698224refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
699052refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
699894refgcc -m64 -O -fomit-frame-pointer2016121620161026
700504refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
700582refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
700716refgcc -O -fomit-frame-pointer2016121620161026
700762refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
701006refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
702034refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
703742refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
703748refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
705030refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
705148refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
705370refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
706576refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
707000refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
707062refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
709046refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
859436refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
859902refgcc -m64 -Os -fomit-frame-pointer2016121620161026
860140refgcc -Os -fomit-frame-pointer2016121620161026
860336refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
860548refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
860976refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
861700refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
862764refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
863522refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
863800refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
864234refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
864692refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
864776refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
864838refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
864866refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
866998refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
867534refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
868570refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
1311056refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
1311114refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
1311544refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
1312112refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
1314886refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
1315044refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
1315228refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
1316472refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
1318874refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
2115970refgcc2016121620161026
2130026refcc2016121620161026
2136294refgcc -funroll-loops2016121620161026

Compiler output

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