Implementation notes: amd64, hydra1, crypto_aead/scream10v1

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_aead
Primitive: scream10v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
412664refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102320161009
413291refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102320161009
413435refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102320161009
413799refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102320161009
413846refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102320161009
414853refgcc -funroll-loops -O2 -fomit-frame-pointer2016102320161009
415011refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102320161009
436403refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102320161009
436622refgcc -march=k8 -O3 -fomit-frame-pointer2016102320161009
436876refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102320161009
437095refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102320161009
437154refgcc -march=barcelona -O3 -fomit-frame-pointer2016102320161009
438399refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102320161009
439867refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102320161009
440221refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102320161009
440290refgcc -m64 -O3 -fomit-frame-pointer2016102320161009
440792refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102320161009
441342refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102320161009
441774refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102320161009
443365refgcc -O3 -fomit-frame-pointer2016102320161009
444667refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102320161009
445429refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102320161009
445712refgcc -funroll-loops -O3 -fomit-frame-pointer2016102320161009
445805refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102320161009
445917refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102320161009
453334refgcc -march=nocona -O3 -fomit-frame-pointer2016102320161009
453432refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102320161009
453696refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102320161009
453726refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102320161009
453896refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102320161009
455051refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102320161009
456157refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102320161009
456995refgcc -funroll-loops -O -fomit-frame-pointer2016102320161009
457200refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016102320161009
460465refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102320161009
460687refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102320161009
460694refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102320161009
461958refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102320161009
721243refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102320161009
725935refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102320161009
738445refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102320161009
738467refclang -O3 -fomit-frame-pointer -Qunused-arguments2016102320161009
747021refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102320161009
747029refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016102320161009
952863refgcc -march=nocona -O2 -fomit-frame-pointer2016102320161009
959667refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102320161009
964808refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016102320161009
964995refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016102320161009
974375refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102320161009
974771refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016102320161009
974976refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016102320161009
979005refgcc -m64 -march=core2 -O -fomit-frame-pointer2016102320161009
979032refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016102320161009
979120refgcc -march=nocona -Os -fomit-frame-pointer2016102320161009
980317refgcc -march=nocona -O -fomit-frame-pointer2016102320161009
980516refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102320161009
980704refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016102320161009
980872refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016102320161009
980899refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016102320161009
980934refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016102320161009
980994refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016102320161009
981010refgcc -funroll-loops -Os -fomit-frame-pointer2016102320161009
981058refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016102320161009
981227refgcc -m64 -O -fomit-frame-pointer2016102320161009
981568refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016102320161009
981574refgcc -m64 -march=nocona -O -fomit-frame-pointer2016102320161009
984314refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016102320161009
985880refgcc -m64 -O2 -fomit-frame-pointer2016102320161009
986067refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102320161009
986256refgcc -fno-schedule-insns -O -fomit-frame-pointer2016102320161009
986403refgcc -O2 -fomit-frame-pointer2016102320161009
986974refgcc -O -fomit-frame-pointer2016102320161009
988035refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102320161009
988182refgcc -march=barcelona -O2 -fomit-frame-pointer2016102320161009
988264refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102320161009
990851refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016102320161009
991387refgcc -march=barcelona -O -fomit-frame-pointer2016102320161009
991739refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102320161009
992405refgcc -march=k8 -O2 -fomit-frame-pointer2016102320161009
996774refgcc -m64 -march=k8 -O -fomit-frame-pointer2016102320161009
996776refgcc -march=k8 -O -fomit-frame-pointer2016102320161009
996917refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102320161009
997103refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102320161009
998926refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102320161009
1010589refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102320161009
1019171refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016102320161009
1019408refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016102320161009
1019437refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016102320161009
1022261refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016102320161009
1022702refgcc -march=k8 -Os -fomit-frame-pointer2016102320161009
1023034refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016102320161009
1023221refgcc -m64 -Os -fomit-frame-pointer2016102320161009
1023269refgcc -Os -fomit-frame-pointer2016102320161009
1025373refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016102320161009
1025422refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016102320161009
1025736refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016102320161009
1027445refgcc -march=barcelona -Os -fomit-frame-pointer2016102320161009
1040382refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016102320161009
4662745refcc2016102320161009
4663606refgcc -funroll-loops2016102320161009
4663624refgcc2016102320161009

Test failure

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