Implementation notes: amd64, hydra1, crypto_aead/scream12v1

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_aead
Primitive: scream12v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
476936refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102320161009
476984refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102320161009
478309refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102320161009
479049refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102320161009
504680refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102320161009
504711refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102320161009
504844refgcc -funroll-loops -O2 -fomit-frame-pointer2016102320161009
506571refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102320161009
507997refgcc -march=k8 -O3 -fomit-frame-pointer2016102320161009
508309refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102320161009
508310refgcc -march=barcelona -O3 -fomit-frame-pointer2016102320161009
508656refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102320161009
508795refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102320161009
510034refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102320161009
510304refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102320161009
510439refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102320161009
510646refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102320161009
513614refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102320161009
513744refgcc -O3 -fomit-frame-pointer2016102320161009
513789refgcc -m64 -O3 -fomit-frame-pointer2016102320161009
520443refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102320161009
520938refgcc -funroll-loops -O3 -fomit-frame-pointer2016102320161009
521170refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102320161009
525417refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102320161009
525438refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102320161009
528506refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102320161009
529523refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102320161009
529720refgcc -march=nocona -O3 -fomit-frame-pointer2016102320161009
529901refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102320161009
534455refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102320161009
534565refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102320161009
534672refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016102320161009
534679refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102320161009
534970refgcc -funroll-loops -O -fomit-frame-pointer2016102320161009
540037refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102320161009
540037refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102320161009
540280refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102320161009
540301refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102320161009
853429refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102320161009
854648refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102320161009
861476refclang -O3 -fomit-frame-pointer -Qunused-arguments2016102320161009
872566refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102320161009
882563refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102320161009
883065refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016102320161009
1124608refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102320161009
1125440refgcc -march=nocona -O2 -fomit-frame-pointer2016102320161009
1140234refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016102320161009
1142968refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016102320161009
1151000refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016102320161009
1151043refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102320161009
1151630refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102320161009
1151997refgcc -march=nocona -O -fomit-frame-pointer2016102320161009
1152458refgcc -m64 -march=nocona -O -fomit-frame-pointer2016102320161009
1154138refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016102320161009
1157456refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102320161009
1157731refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016102320161009
1157802refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016102320161009
1157928refgcc -m64 -march=core2 -O -fomit-frame-pointer2016102320161009
1160328refgcc -fno-schedule-insns -O -fomit-frame-pointer2016102320161009
1160379refgcc -m64 -O -fomit-frame-pointer2016102320161009
1160512refgcc -O -fomit-frame-pointer2016102320161009
1161118refgcc -march=nocona -Os -fomit-frame-pointer2016102320161009
1163269refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016102320161009
1163317refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016102320161009
1163371refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016102320161009
1163395refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016102320161009
1163421refgcc -funroll-loops -Os -fomit-frame-pointer2016102320161009
1163422refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016102320161009
1163656refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016102320161009
1165360refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016102320161009
1165891refgcc -m64 -O2 -fomit-frame-pointer2016102320161009
1166069refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102320161009
1167003refgcc -O2 -fomit-frame-pointer2016102320161009
1167071refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102320161009
1167154refgcc -march=barcelona -O2 -fomit-frame-pointer2016102320161009
1167200refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102320161009
1167211refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102320161009
1167451refgcc -march=barcelona -O -fomit-frame-pointer2016102320161009
1168824refgcc -march=k8 -O2 -fomit-frame-pointer2016102320161009
1170773refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102320161009
1171045refgcc -m64 -march=k8 -O -fomit-frame-pointer2016102320161009
1171432refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016102320161009
1171440refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102320161009
1171903refgcc -march=k8 -O -fomit-frame-pointer2016102320161009
1172843refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102320161009
1201027refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016102320161009
1203253refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016102320161009
1203696refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016102320161009
1204312refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016102320161009
1204573refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016102320161009
1204637refgcc -m64 -Os -fomit-frame-pointer2016102320161009
1205502refgcc -march=k8 -Os -fomit-frame-pointer2016102320161009
1207661refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016102320161009
1209498refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016102320161009
1209559refgcc -Os -fomit-frame-pointer2016102320161009
1209949refgcc -march=barcelona -Os -fomit-frame-pointer2016102320161009
1211672refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016102320161009
1241961refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016102320161009
5545198refgcc2016102320161009
5554374refgcc -funroll-loops2016102320161009
5565203refcc2016102320161009

Test failure

Implementation: crypto_aead/scream12v1/sse
Compiler: gcc -m64 -march=core2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 14, namely:
CompilerImplementations
gcc -m64 -march=core2 -O2 -fomit-frame-pointer sse
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref sse
gcc -m64 -march=core2 -O -fomit-frame-pointer sse
gcc -m64 -march=core2 -Os -fomit-frame-pointer sse
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer sse
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer sse
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer sse
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer sse
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer sse
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer sse
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer sse
gcc -m64 -march=corei7 -O -fomit-frame-pointer sse
gcc -m64 -march=corei7 -Os -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/scream12v1/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: 79, 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=native -mtune=native -O2 -fomit-frame-pointer sse
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer sse
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer sse
gcc -m64 -march=native -mtune=native -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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv sse
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv sse
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv sse
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv 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/scream12v1/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: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments sse
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments sse
clang -march=native -O3 -fomit-frame-pointer -fwrapv -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/scream12v1/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