Implementation notes: amd64, skylake, crypto_aead/scream10v1

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: scream10v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
58080ssegcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
58098ssegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
58376ssegcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
58742ssegcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
61490ssegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
63908ssegcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
63942ssegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
64164ssegcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
64330ssegcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
64634sseclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
64692sseclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
64734ssegcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
64832ssegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
64870ssegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
64884sseclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
64992sseclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
65056ssegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
65556ssegcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
65656ssegcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
65678ssegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
65688ssegcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
65806sseclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
66344sseclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
67464ssegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
68488ssegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
69750ssegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
69764ssegcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
69878ssegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
70184ssegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
70386ssegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
70826ssegcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
71138ssegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
71596ssegcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
71636ssegcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
75294ssegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
75786ssegcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
76706ssegcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
77072ssegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
102356ssegcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
102764ssegcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
102808ssegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
103634ssegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
270764refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
270798refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
271004refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
271016refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
271148refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
271234refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
271330refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
271386refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
271426refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
271594refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
271962refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
272102refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
272220refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
273700refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
275018refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
275048refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
275234refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
275346refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
275512refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
275650refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
275740refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
276818refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
277038refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
277116refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
277230refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
277308refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
277460refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
277628refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
278020refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
279098refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
286950refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
288562refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
288828refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
289200refgcc -O3 -fomit-frame-pointer2016121620161026
289274refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
289456refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
289884refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
290120refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
290464refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
290506refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
290594refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
290894refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
291162refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
291306refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
291416refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
420452refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
421612refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
431126refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
432366refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
432804refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
432812refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
432860refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
433194refgcc -O2 -fomit-frame-pointer2016121620161026
433386refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
433560refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
433674refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
433686refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
433992refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
434162refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
434248refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
434288refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
434550refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
434686refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
434870refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
434886refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
435014refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
435092refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
435852refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
436002refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
445322refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
447504refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
450676refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
451532refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
451634refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
451936refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
452004refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
452050refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
452060refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
452424refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
452634refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
454852refgcc -O -fomit-frame-pointer2016121620161026
455142refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
455516refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
455858refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
456868refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
459562refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
462788refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
463236refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
463750refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
464512refgcc -m64 -O -fomit-frame-pointer2016121620161026
467896refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
647854refgcc -m64 -Os -fomit-frame-pointer2016121620161026
648146refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
648286refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
649752refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
650530refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
650950refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
650972refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
651436refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
651710refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
651834refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
652014refgcc -Os -fomit-frame-pointer2016121620161026
652670refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
653190refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
653600refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
653728refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
656194refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
656238refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
657066refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
771682refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
774320refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
776152refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
776196refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
776568refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
776618refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
776750refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
779524refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
779868refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
1521394refgcc2016121620161026
1521598refcc2016121620161026
1531176refgcc -funroll-loops2016121620161026

Compiler output

Implementation: crypto_aead/scream10v1/sse
Compiler: cc
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:185:10: warning: implicit declaration of function '__builtin_ia32_pshufb128' [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: scream.c:185:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:186:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:190:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:191:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:198:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^~
scream.c: scream.c:199:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^~
scream.c: scream.c:203:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^~
scream.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/scream10v1/sse
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
scream.c: scream.c:185:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:186:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:190:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:191:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:198:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^
scream.c: scream.c:199:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^
scream.c: scream.c:203:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^
scream.c: scream.c:204:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: D ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^
scream.c: scream.c:211:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.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/scream10v1/sse
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:185:10: warning: implicit declaration of function '__builtin_ia32_pshufb128' [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: scream.c:185:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:186:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:190:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:191:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:198:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^~
scream.c: scream.c:199:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^~
scream.c: scream.c:203:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^~
scream.c: ...
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:185:10: warning: implicit declaration of function '__builtin_ia32_pshufb128' [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: scream.c:185:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:186:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:190:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:191:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:198:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^~
scream.c: scream.c:199:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^~
scream.c: scream.c:203:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^~
scream.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