Implementation notes: amd64, oki, crypto_aead/pi32cipher256v1

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_aead
Primitive: pi32cipher256v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
867140? ? ?? ? ?optimized_nonSSEcc2018112920181123
932394? ? ?? ? ?refcc2018112920181123

Test failure

Implementation: optimized_nonSSE
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 228, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE
gcc optimized_nonSSE
gcc -O2 -fomit-frame-pointer optimized_nonSSE
gcc -O3 -fomit-frame-pointer optimized_nonSSE
gcc -O -fomit-frame-pointer optimized_nonSSE
gcc -Os -fomit-frame-pointer optimized_nonSSE
gcc -fno-schedule-insns -O2 -fomit-frame-pointer optimized_nonSSE
gcc -fno-schedule-insns -O3 -fomit-frame-pointer optimized_nonSSE
gcc -fno-schedule-insns -O -fomit-frame-pointer optimized_nonSSE
gcc -fno-schedule-insns -Os -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops optimized_nonSSE
gcc -funroll-loops -O2 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -O3 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -O -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -Os -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -m64 -O -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -m64 -Os -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer optimized_nonSSE
gcc -m64 -O2 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -O3 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -O -fomit-frame-pointer optimized_nonSSE
gcc -m64 -Os -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core2 -O2 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core2 -O3 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core2 -O -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core2 -Os -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=corei7 -O -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=corei7 -Os -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=k8 -O2 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=k8 -O3 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=k8 -O -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=k8 -Os -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=nocona -O2 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=nocona -O3 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=nocona -O -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=nocona -Os -fomit-frame-pointer optimized_nonSSE
gcc -march=barcelona -O2 -fomit-frame-pointer optimized_nonSSE
gcc -march=barcelona -O3 -fomit-frame-pointer optimized_nonSSE
gcc -march=barcelona -O -fomit-frame-pointer optimized_nonSSE
gcc -march=barcelona -Os -fomit-frame-pointer optimized_nonSSE
gcc -march=k8 -O2 -fomit-frame-pointer optimized_nonSSE
gcc -march=k8 -O3 -fomit-frame-pointer optimized_nonSSE
gcc -march=k8 -O -fomit-frame-pointer optimized_nonSSE
gcc -march=k8 -Os -fomit-frame-pointer optimized_nonSSE
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv optimized_nonSSE
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv optimized_nonSSE
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv optimized_nonSSE
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv optimized_nonSSE
gcc -march=nocona -O2 -fomit-frame-pointer optimized_nonSSE
gcc -march=nocona -O3 -fomit-frame-pointer optimized_nonSSE
gcc -march=nocona -O -fomit-frame-pointer optimized_nonSSE
gcc -march=nocona -Os -fomit-frame-pointer optimized_nonSSE
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
gcc ref
gcc -O2 -fomit-frame-pointer ref
gcc -O3 -fomit-frame-pointer ref
gcc -O -fomit-frame-pointer ref
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops ref
gcc -funroll-loops -O2 -fomit-frame-pointer ref
gcc -funroll-loops -O3 -fomit-frame-pointer ref
gcc -funroll-loops -O -fomit-frame-pointer ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc -m64 -O2 -fomit-frame-pointer ref
gcc -m64 -O3 -fomit-frame-pointer ref
gcc -m64 -O -fomit-frame-pointer ref
gcc -m64 -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O -fomit-frame-pointer ref
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ref
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -march=barcelona -O2 -fomit-frame-pointer ref
gcc -march=barcelona -O3 -fomit-frame-pointer ref
gcc -march=barcelona -O -fomit-frame-pointer ref
gcc -march=barcelona -Os -fomit-frame-pointer ref
gcc -march=k8 -O2 -fomit-frame-pointer ref
gcc -march=k8 -O3 -fomit-frame-pointer ref
gcc -march=k8 -O -fomit-frame-pointer ref
gcc -march=k8 -Os -fomit-frame-pointer ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref
gcc -march=nocona -O2 -fomit-frame-pointer ref
gcc -march=nocona -O3 -fomit-frame-pointer ref
gcc -march=nocona -O -fomit-frame-pointer ref
gcc -march=nocona -Os -fomit-frame-pointer ref

Test failure

Implementation: optimized_nonSSE
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
error 111
crypto_aead_decrypt returns nonzero
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=barcelona -O -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=barcelona -Os -fomit-frame-pointer optimized_nonSSE
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -m64 -march=barcelona -Os -fomit-frame-pointer ref

Compiler output

Implementation: optimized_nonSSE
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:354:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:468:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:622:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings generated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE

Compiler output

Implementation: optimized_nonSSE
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:354:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:468:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:622:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x11384b0: v4i64 = X86ISD::VTRUNC 0x11382e0
try.c: 0x11382e0: v16i32 = vselect 0x11319e0, 0x10b9b90, 0x11381b0
try.c: 0x11319e0: v4i1 = X86ISD::PCMPGTM 0x1115850, 0x10c75e0
try.c: 0x1115850: v4i64 = X86ISD::VBROADCAST 0x10c7970
try.c: 0x10c7970: i64,ch = load<LD8[%uglygep72]> 0x101ddd0, 0x110a480, undef:i64
try.c: 0x110a480: i64 = add 0x1122c80, 0x10c2770
try.c: 0x1122c80: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x110d030: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x10c2770: i64 = shl 0x110c7e0, Constant:i8<3>
try.c: 0x110c7e0: i64,ch = CopyFromReg 0x101ddd0, Register:i64 %vreg50
try.c: 0x1123140: i64 = Register %vreg50
try.c: 0x10c3d70: i8 = Constant<3>
try.c: 0x1121420: i64 = undef
try.c: 0x10c75e0: v4i64,ch = CopyFromReg 0x101ddd0, Register:v4i64 %vreg13
try.c: 0x10cda20: v4i64 = Register %vreg13
try.c: 0x10b9b90: v16i32 = X86ISD::VBROADCAST 0x110ca40
try.c: 0x110ca40: i32,ch = load<LD4[ConstantPool]> 0x101ddd0, 0x1137e20, undef:i64
try.c: 0x1137e20: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x10c93a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1121420: i64 = undef
try.c: 0x11381b0: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x1138080: i32 = Constant<0>
try.c: 0x1138080: i32 = Constant<0>
try.c: 0x1138080: i32 = Constant<0>
try.c: 0x1138080: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments optimized_nonSSE

Compiler output

Implementation: optimized_nonSSE
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
encrypt.c: encrypt.c:354:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:468:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:622:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x26d6c00: v4i64 = X86ISD::VTRUNC 0x26d6a30
try.c: 0x26d6a30: v16i32 = vselect 0x26c73c0, 0x2665460, 0x26d6900
try.c: 0x26c73c0: v4i1 = X86ISD::PCMPGTM 0x26bf930, 0x2666210
try.c: 0x26bf930: v4i64 = X86ISD::VBROADCAST 0x26665a0
try.c: 0x26665a0: i64,ch = load<LD8[%uglygep72]> 0x25badd0, 0x26af240, undef:i64
try.c: 0x26af240: i64 = add 0x26c0810, 0x2668a50
try.c: 0x26c0810: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x2656180: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x2668a50: i64 = shl 0x2655930, Constant:i8<3>
try.c: 0x2655930: i64,ch = CopyFromReg 0x25badd0, Register:i64 %vreg50
try.c: 0x26c0cd0: i64 = Register %vreg50
try.c: 0x2660e40: i8 = Constant<3>
try.c: 0x26bdfa0: i64 = undef
try.c: 0x2666210: v4i64,ch = CopyFromReg 0x25badd0, Register:v4i64 %vreg13
try.c: 0x266fe70: v4i64 = Register %vreg13
try.c: 0x2665460: v16i32 = X86ISD::VBROADCAST 0x2655b90
try.c: 0x2655b90: i32,ch = load<LD4[ConstantPool]> 0x25badd0, 0x26d6570, undef:i64
try.c: 0x26d6570: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x265a920: i64 = TargetConstantPool<i32 1> 0
try.c: 0x26bdfa0: i64 = undef
try.c: 0x26d6900: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x26d67d0: i32 = Constant<0>
try.c: 0x26d67d0: i32 = Constant<0>
try.c: 0x26d67d0: i32 = Constant<0>
try.c: 0x26d67d0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:240:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:354:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:508:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings generated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:240:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:354:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:508:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x1578800: v4i64 = X86ISD::VTRUNC 0x1578630
try.c: 0x1578630: v16i32 = vselect 0x1575270, 0x151ed60, 0x1578500
try.c: 0x1575270: v4i1 = X86ISD::PCMPGTM 0x1560120, 0x1511450
try.c: 0x1560120: v4i64 = X86ISD::VBROADCAST 0x15117e0
try.c: 0x15117e0: i64,ch = load<LD8[%uglygep72]> 0x145bdd0, 0x1554570, undef:i64
try.c: 0x1554570: i64 = add 0x1561000, 0x14dd3c0
try.c: 0x1561000: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1558bf0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x14dd3c0: i64 = shl 0x15583a0, Constant:i8<3>
try.c: 0x15583a0: i64,ch = CopyFromReg 0x145bdd0, Register:i64 %vreg50
try.c: 0x15614c0: i64 = Register %vreg50
try.c: 0x151c750: i8 = Constant<3>
try.c: 0x155df80: i64 = undef
try.c: 0x1511450: v4i64,ch = CopyFromReg 0x145bdd0, Register:v4i64 %vreg13
try.c: 0x1506330: v4i64 = Register %vreg13
try.c: 0x151ed60: v16i32 = X86ISD::VBROADCAST 0x1558600
try.c: 0x1558600: i32,ch = load<LD4[ConstantPool]> 0x145bdd0, 0x1578170, undef:i64
try.c: 0x1578170: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1513210: i64 = TargetConstantPool<i32 1> 0
try.c: 0x155df80: i64 = undef
try.c: 0x1578500: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x15783d0: i32 = Constant<0>
try.c: 0x15783d0: i32 = Constant<0>
try.c: 0x15783d0: i32 = Constant<0>
try.c: 0x15783d0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
encrypt.c: encrypt.c:240:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:354:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:508:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x10670f0: v4i64 = X86ISD::VTRUNC 0x1066f20
try.c: 0x1066f20: v16i32 = vselect 0x106f9f0, 0x1002ef0, 0x1066df0
try.c: 0x106f9f0: v4i1 = X86ISD::PCMPGTM 0x10501e0, 0xfe9b30
try.c: 0x10501e0: v4i64 = X86ISD::VBROADCAST 0xfe9ec0
try.c: 0xfe9ec0: i64,ch = load<LD8[%uglygep72]> 0xf4bdd0, 0x103a950, undef:i64
try.c: 0x103a950: i64 = add 0x10510c0, 0xfe1150
try.c: 0x10510c0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1005530: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0xfe1150: i64 = shl 0x1004ce0, Constant:i8<3>
try.c: 0x1004ce0: i64,ch = CopyFromReg 0xf4bdd0, Register:i64 %vreg50
try.c: 0x1051580: i64 = Register %vreg50
try.c: 0xfcd9f0: i8 = Constant<3>
try.c: 0x104e040: i64 = undef
try.c: 0xfe9b30: v4i64,ch = CopyFromReg 0xf4bdd0, Register:v4i64 %vreg13
try.c: 0xff6430: v4i64 = Register %vreg13
try.c: 0x1002ef0: v16i32 = X86ISD::VBROADCAST 0x1004f40
try.c: 0x1004f40: i32,ch = load<LD4[ConstantPool]> 0xf4bdd0, 0x1066a60, undef:i64
try.c: 0x1066a60: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xfeb8f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x104e040: i64 = undef
try.c: 0x1066df0: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x1066cc0: i32 = Constant<0>
try.c: 0x1066cc0: i32 = Constant<0>
try.c: 0x1066cc0: i32 = Constant<0>
try.c: 0x1066cc0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref