Implementation notes: amd64, oki, crypto_aead/pi32cipher128v1

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_aead
Primitive: pi32cipher128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
866558? ? ?? ? ?optimized_nonSSEcc2018112920181123
931938? ? ?? ? ?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: 0x27fd630: v4i64 = X86ISD::VTRUNC 0x27fd460
try.c: 0x27fd460: v16i32 = vselect 0x2805a90, 0x27a4b30, 0x27fd330
try.c: 0x2805a90: v4i1 = X86ISD::PCMPGTM 0x27e7b30, 0x27a58e0
try.c: 0x27e7b30: v4i64 = X86ISD::VBROADCAST 0x27a5c70
try.c: 0x27a5c70: i64,ch = load<LD8[%uglygep72]> 0x26e2dd0, 0x278ce70, undef:i64
try.c: 0x278ce70: i64 = add 0x27e8a10, 0x2787b10
try.c: 0x27e8a10: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x278af10: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x2787b10: i64 = shl 0x278a6c0, Constant:i8<3>
try.c: 0x278a6c0: i64,ch = CopyFromReg 0x26e2dd0, Register:i64 %vreg50
try.c: 0x27e8ed0: i64 = Register %vreg50
try.c: 0x27ab6e0: i8 = Constant<3>
try.c: 0x27e61a0: i64 = undef
try.c: 0x27a58e0: v4i64,ch = CopyFromReg 0x26e2dd0, Register:v4i64 %vreg13
try.c: 0x27931c0: v4i64 = Register %vreg13
try.c: 0x27a4b30: v16i32 = X86ISD::VBROADCAST 0x278a920
try.c: 0x278a920: i32,ch = load<LD4[ConstantPool]> 0x26e2dd0, 0x27fcfa0, undef:i64
try.c: 0x27fcfa0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x2781bc0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x27e61a0: i64 = undef
try.c: 0x27fd330: 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: 0x27fd200: i32 = Constant<0>
try.c: 0x27fd200: i32 = Constant<0>
try.c: 0x27fd200: i32 = Constant<0>
try.c: 0x27fd200: 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: 0x11b43b0: v4i64 = X86ISD::VTRUNC 0x11b41e0
try.c: 0x11b41e0: v16i32 = vselect 0x11adcf0, 0x1134850, 0x11b40b0
try.c: 0x11adcf0: v4i1 = X86ISD::PCMPGTM 0x11958b0, 0x114ce30
try.c: 0x11958b0: v4i64 = X86ISD::VBROADCAST 0x114d1c0
try.c: 0x114d1c0: i64,ch = load<LD8[%uglygep72]> 0x1097dd0, 0x115d560, undef:i64
try.c: 0x115d560: i64 = add 0x119d770, 0x114a5e0
try.c: 0x119d770: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1198e80: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x114a5e0: i64 = shl 0x1198630, Constant:i8<3>
try.c: 0x1198630: i64,ch = CopyFromReg 0x1097dd0, Register:i64 %vreg50
try.c: 0x119dc30: i64 = Register %vreg50
try.c: 0x1132240: i8 = Constant<3>
try.c: 0x119bf10: i64 = undef
try.c: 0x114ce30: v4i64,ch = CopyFromReg 0x1097dd0, Register:v4i64 %vreg13
try.c: 0x1137460: v4i64 = Register %vreg13
try.c: 0x1134850: v16i32 = X86ISD::VBROADCAST 0x1198890
try.c: 0x1198890: i32,ch = load<LD4[ConstantPool]> 0x1097dd0, 0x11b3d20, undef:i64
try.c: 0x11b3d20: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x114ebf0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x119bf10: i64 = undef
try.c: 0x11b40b0: 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: 0x11b3f80: i32 = Constant<0>
try.c: 0x11b3f80: i32 = Constant<0>
try.c: 0x11b3f80: i32 = Constant<0>
try.c: 0x11b3f80: 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: 0x11a4100: v4i64 = X86ISD::VTRUNC 0x11a3f30
try.c: 0x11a3f30: v16i32 = vselect 0x119aab0, 0x110cae0, 0x11a3e00
try.c: 0x119aab0: v4i1 = X86ISD::PCMPGTM 0x118ea00, 0x1128250
try.c: 0x118ea00: v4i64 = X86ISD::VBROADCAST 0x11285e0
try.c: 0x11285e0: i64,ch = load<LD8[%uglygep72]> 0x1088dd0, 0x116e690, undef:i64
try.c: 0x116e690: i64 = add 0x118f8e0, 0x1126550
try.c: 0x118f8e0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1182890: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1126550: i64 = shl 0x1182040, Constant:i8<3>
try.c: 0x1182040: i64,ch = CopyFromReg 0x1088dd0, Register:i64 %vreg50
try.c: 0x118fda0: i64 = Register %vreg50
try.c: 0x112eb00: i8 = Constant<3>
try.c: 0x118d070: i64 = undef
try.c: 0x1128250: v4i64,ch = CopyFromReg 0x1088dd0, Register:v4i64 %vreg13
try.c: 0x1124640: v4i64 = Register %vreg13
try.c: 0x110cae0: v16i32 = X86ISD::VBROADCAST 0x11822a0
try.c: 0x11822a0: i32,ch = load<LD4[ConstantPool]> 0x1088dd0, 0x11a3a70, undef:i64
try.c: 0x11a3a70: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1122160: i64 = TargetConstantPool<i32 1> 0
try.c: 0x118d070: i64 = undef
try.c: 0x11a3e00: 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: 0x11a3cd0: i32 = Constant<0>
try.c: 0x11a3cd0: i32 = Constant<0>
try.c: 0x11a3cd0: i32 = Constant<0>
try.c: 0x11a3cd0: 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: 0x1f2ed80: v4i64 = X86ISD::VTRUNC 0x1f2ebb0
try.c: 0x1f2ebb0: v16i32 = vselect 0x1f379c0, 0x1ec2d60, 0x1f2ea80
try.c: 0x1f379c0: v4i1 = X86ISD::PCMPGTM 0x1f18670, 0x1ec0070
try.c: 0x1f18670: v4i64 = X86ISD::VBROADCAST 0x1ec0400
try.c: 0x1ec0400: i64,ch = load<LD8[%uglygep72]> 0x1e12dd0, 0x1ed0f00, undef:i64
try.c: 0x1ed0f00: i64 = add 0x1f19550, 0x1eadd60
try.c: 0x1f19550: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1f00dc0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1eadd60: i64 = shl 0x1f00570, Constant:i8<3>
try.c: 0x1f00570: i64,ch = CopyFromReg 0x1e12dd0, Register:i64 %vreg50
try.c: 0x1f19a10: i64 = Register %vreg50
try.c: 0x1ec5f90: i8 = Constant<3>
try.c: 0x1f16ce0: i64 = undef
try.c: 0x1ec0070: v4i64,ch = CopyFromReg 0x1e12dd0, Register:v4i64 %vreg13
try.c: 0x1ed8b60: v4i64 = Register %vreg13
try.c: 0x1ec2d60: v16i32 = X86ISD::VBROADCAST 0x1f007d0
try.c: 0x1f007d0: i32,ch = load<LD4[ConstantPool]> 0x1e12dd0, 0x1f2e6f0, undef:i64
try.c: 0x1f2e6f0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1eacf30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1f16ce0: i64 = undef
try.c: 0x1f2ea80: 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: 0x1f2e950: i32 = Constant<0>
try.c: 0x1f2e950: i32 = Constant<0>
try.c: 0x1f2e950: i32 = Constant<0>
try.c: 0x1f2e950: 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