Implementation notes: amd64, oki, crypto_aead/pi16cipher096v1

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_aead
Primitive: pi16cipher096v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2146918? ? ?? ? ?optimized_nonSSEcc2018112920181123
2256962? ? ?? ? ?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:362:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:488: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:650: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:362:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:488: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:650: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: 0x20c6450: v4i64 = X86ISD::VTRUNC 0x20c6280
try.c: 0x20c6280: v16i32 = vselect 0x20b9990, 0x2058d80, 0x20c6150
try.c: 0x20b9990: v4i1 = X86ISD::PCMPGTM 0x20acd20, 0x2059b30
try.c: 0x20acd20: v4i64 = X86ISD::VBROADCAST 0x2059ec0
try.c: 0x2059ec0: i64,ch = load<LD8[%uglygep72]> 0x1fa8de0, 0x2067fe0, undef:i64
try.c: 0x2067fe0: i64 = add 0x20adc00, 0x204dc50
try.c: 0x20adc00: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x20a5110: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x204dc50: i64 = shl 0x20a48c0, Constant:i8<3>
try.c: 0x20a48c0: i64,ch = CopyFromReg 0x1fa8de0, Register:i64 %vreg50
try.c: 0x20ae0c0: i64 = Register %vreg50
try.c: 0x2043770: i8 = Constant<3>
try.c: 0x20ab390: i64 = undef
try.c: 0x2059b30: v4i64,ch = CopyFromReg 0x1fa8de0, Register:v4i64 %vreg13
try.c: 0x205dd10: v4i64 = Register %vreg13
try.c: 0x2058d80: v16i32 = X86ISD::VBROADCAST 0x20a4b20
try.c: 0x20a4b20: i32,ch = load<LD4[ConstantPool]> 0x1fa8de0, 0x20c5dc0, undef:i64
try.c: 0x20c5dc0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x206f940: i64 = TargetConstantPool<i32 1> 0
try.c: 0x20ab390: i64 = undef
try.c: 0x20c6150: 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: 0x20c6020: i32 = Constant<0>
try.c: 0x20c6020: i32 = Constant<0>
try.c: 0x20c6020: i32 = Constant<0>
try.c: 0x20c6020: 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:362:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:488: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:650: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: 0x115e540: v4i64 = X86ISD::VTRUNC 0x115e370
try.c: 0x115e370: v16i32 = vselect 0x1173b50, 0x10ed1b0, 0x115e240
try.c: 0x1173b50: v4i1 = X86ISD::PCMPGTM 0x1153fa0, 0x1103420
try.c: 0x1153fa0: v4i64 = X86ISD::VBROADCAST 0x11037b0
try.c: 0x11037b0: i64,ch = load<LD8[%uglygep72]> 0x104ddd0, 0x11422d0, undef:i64
try.c: 0x11422d0: i64 = add 0x1154e80, 0x10f2c20
try.c: 0x1154e80: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x110ffc0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x10f2c20: i64 = shl 0x110f770, Constant:i8<3>
try.c: 0x110f770: i64,ch = CopyFromReg 0x104ddd0, Register:i64 %vreg50
try.c: 0x1155340: i64 = Register %vreg50
try.c: 0x10f4220: i8 = Constant<3>
try.c: 0x1151e00: i64 = undef
try.c: 0x1103420: v4i64,ch = CopyFromReg 0x104ddd0, Register:v4i64 %vreg13
try.c: 0x10f7830: v4i64 = Register %vreg13
try.c: 0x10ed1b0: v16i32 = X86ISD::VBROADCAST 0x110f9d0
try.c: 0x110f9d0: i32,ch = load<LD4[ConstantPool]> 0x104ddd0, 0x115deb0, undef:i64
try.c: 0x115deb0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x10fd890: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1151e00: i64 = undef
try.c: 0x115e240: 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: 0x115e110: i32 = Constant<0>
try.c: 0x115e110: i32 = Constant<0>
try.c: 0x115e110: i32 = Constant<0>
try.c: 0x115e110: 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:248:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:374: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:536: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:248:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:374: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:536: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: 0x27ef140: v4i64 = X86ISD::VTRUNC 0x27eef70
try.c: 0x27eef70: v16i32 = vselect 0x27ebbb0, 0x276ff50, 0x27eee40
try.c: 0x27ebbb0: v4i1 = X86ISD::PCMPGTM 0x27d8630, 0x2770d00
try.c: 0x27d8630: v4i64 = X86ISD::VBROADCAST 0x2771090
try.c: 0x2771090: i64,ch = load<LD8[%uglygep72]> 0x26d1db0, 0x27830c0, undef:i64
try.c: 0x27830c0: i64 = add 0x27d9510, 0x27322b0
try.c: 0x27d9510: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x27ca080: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x27322b0: i64 = shl 0x27c9830, Constant:i8<3>
try.c: 0x27c9830: i64,ch = CopyFromReg 0x26d1db0, Register:i64 %vreg50
try.c: 0x27d99d0: i64 = Register %vreg50
try.c: 0x2755620: i8 = Constant<3>
try.c: 0x27d6ca0: i64 = undef
try.c: 0x2770d00: v4i64,ch = CopyFromReg 0x26d1db0, Register:v4i64 %vreg13
try.c: 0x279a670: v4i64 = Register %vreg13
try.c: 0x276ff50: v16i32 = X86ISD::VBROADCAST 0x27c9a90
try.c: 0x27c9a90: i32,ch = load<LD4[ConstantPool]> 0x26d1db0, 0x27eeab0, undef:i64
try.c: 0x27eeab0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x2798190: i64 = TargetConstantPool<i32 1> 0
try.c: 0x27d6ca0: i64 = undef
try.c: 0x27eee40: 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: 0x27eed10: i32 = Constant<0>
try.c: 0x27eed10: i32 = Constant<0>
try.c: 0x27eed10: i32 = Constant<0>
try.c: 0x27eed10: 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:248:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:374: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:536: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: 0x29141f0: v4i64 = X86ISD::VTRUNC 0x2914020
try.c: 0x2914020: v16i32 = vselect 0x291c210, 0x28ab4b0, 0x2913ef0
try.c: 0x291c210: v4i1 = X86ISD::PCMPGTM 0x28feaf0, 0x28ac260
try.c: 0x28feaf0: v4i64 = X86ISD::VBROADCAST 0x28ac5f0
try.c: 0x28ac5f0: i64,ch = load<LD8[%uglygep72]> 0x27f8dd0, 0x28b22f0, undef:i64
try.c: 0x28b22f0: i64 = add 0x28ff9d0, 0x28b9f20
try.c: 0x28ff9d0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x28edc90: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x28b9f20: i64 = shl 0x28ed440, Constant:i8<3>
try.c: 0x28ed440: i64,ch = CopyFromReg 0x27f8dd0, Register:i64 %vreg50
try.c: 0x28ffe90: i64 = Register %vreg50
try.c: 0x28ae690: i8 = Constant<3>
try.c: 0x28fd160: i64 = undef
try.c: 0x28ac260: v4i64,ch = CopyFromReg 0x27f8dd0, Register:v4i64 %vreg13
try.c: 0x2897f90: v4i64 = Register %vreg13
try.c: 0x28ab4b0: v16i32 = X86ISD::VBROADCAST 0x28ed6a0
try.c: 0x28ed6a0: i32,ch = load<LD4[ConstantPool]> 0x27f8dd0, 0x2913b60, undef:i64
try.c: 0x2913b60: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x2890a50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x28fd160: i64 = undef
try.c: 0x2913ef0: 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: 0x2913dc0: i32 = Constant<0>
try.c: 0x2913dc0: i32 = Constant<0>
try.c: 0x2913dc0: i32 = Constant<0>
try.c: 0x2913dc0: 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