Implementation notes: amd64, oki, crypto_aead/pi16cipher128v1

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_aead
Primitive: pi16cipher128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2135296? ? ?? ? ?optimized_nonSSEcc2018112920181123
2257310? ? ?? ? ?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: 0x1b60df0: v4i64 = X86ISD::VTRUNC 0x1b60c20
try.c: 0x1b60c20: v16i32 = vselect 0x1b51710, 0x1ae5110, 0x1b60af0
try.c: 0x1b51710: v4i1 = X86ISD::PCMPGTM 0x1b4a730, 0x1ae5ec0
try.c: 0x1b4a730: v4i64 = X86ISD::VBROADCAST 0x1ae6250
try.c: 0x1ae6250: i64,ch = load<LD8[%uglygep72]> 0x1a45db0, 0x1b01470, undef:i64
try.c: 0x1b01470: i64 = add 0x1b4b610, 0x1ac73d0
try.c: 0x1b4b610: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1b42d80: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1ac73d0: i64 = shl 0x1b42530, Constant:i8<3>
try.c: 0x1b42530: i64,ch = CopyFromReg 0x1a45db0, Register:i64 %vreg50
try.c: 0x1b4bad0: i64 = Register %vreg50
try.c: 0x1aebd70: i8 = Constant<3>
try.c: 0x1b48590: i64 = undef
try.c: 0x1ae5ec0: v4i64,ch = CopyFromReg 0x1a45db0, Register:v4i64 %vreg13
try.c: 0x1ae2ce0: v4i64 = Register %vreg13
try.c: 0x1ae5110: v16i32 = X86ISD::VBROADCAST 0x1b42790
try.c: 0x1b42790: i32,ch = load<LD4[ConstantPool]> 0x1a45db0, 0x1b60760, undef:i64
try.c: 0x1b60760: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1adfff0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1b48590: i64 = undef
try.c: 0x1b60af0: 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: 0x1b609c0: i32 = Constant<0>
try.c: 0x1b609c0: i32 = Constant<0>
try.c: 0x1b609c0: i32 = Constant<0>
try.c: 0x1b609c0: 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: 0x1bbc900: v4i64 = X86ISD::VTRUNC 0x1bbc730
try.c: 0x1bbc730: v16i32 = vselect 0x1b9b8f0, 0x1b40a90, 0x1bbc600
try.c: 0x1b9b8f0: v4i1 = X86ISD::PCMPGTM 0x1ba49e0, 0x1b3a7e0
try.c: 0x1ba49e0: v4i64 = X86ISD::VBROADCAST 0x1b3ab70
try.c: 0x1b3ab70: i64,ch = load<LD8[%uglygep72]> 0x1a9fdb0, 0x1b65a30, undef:i64
try.c: 0x1b65a30: i64 = add 0x1ba58c0, 0x1b21ef0
try.c: 0x1ba58c0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1b4a540: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1b21ef0: i64 = shl 0x1b49cf0, Constant:i8<3>
try.c: 0x1b49cf0: i64,ch = CopyFromReg 0x1a9fdb0, Register:i64 %vreg50
try.c: 0x1ba5d80: i64 = Register %vreg50
try.c: 0x1b234f0: i8 = Constant<3>
try.c: 0x1ba2840: i64 = undef
try.c: 0x1b3a7e0: v4i64,ch = CopyFromReg 0x1a9fdb0, Register:v4i64 %vreg13
try.c: 0x1b56830: v4i64 = Register %vreg13
try.c: 0x1b40a90: v16i32 = X86ISD::VBROADCAST 0x1b49f50
try.c: 0x1b49f50: i32,ch = load<LD4[ConstantPool]> 0x1a9fdb0, 0x1bbc270, undef:i64
try.c: 0x1bbc270: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1b54350: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1ba2840: i64 = undef
try.c: 0x1bbc600: 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: 0x1bbc4d0: i32 = Constant<0>
try.c: 0x1bbc4d0: i32 = Constant<0>
try.c: 0x1bbc4d0: i32 = Constant<0>
try.c: 0x1bbc4d0: 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: 0x1927120: v4i64 = X86ISD::VTRUNC 0x1926f50
try.c: 0x1926f50: v16i32 = vselect 0x1922350, 0x18b35d0, 0x1926e20
try.c: 0x1922350: v4i1 = X86ISD::PCMPGTM 0x1912a30, 0x18b4380
try.c: 0x1912a30: v4i64 = X86ISD::VBROADCAST 0x18b4710
try.c: 0x18b4710: i64,ch = load<LD8[%uglygep72]> 0x180ddd0, 0x18d87d0, undef:i64
try.c: 0x18d87d0: i64 = add 0x1913910, 0x1890ba0
try.c: 0x1913910: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1907ab0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1890ba0: i64 = shl 0x1907260, Constant:i8<3>
try.c: 0x1907260: i64,ch = CopyFromReg 0x180ddd0, Register:i64 %vreg50
try.c: 0x1913dd0: i64 = Register %vreg50
try.c: 0x18ac5a0: i8 = Constant<3>
try.c: 0x19110a0: i64 = undef
try.c: 0x18b4380: v4i64,ch = CopyFromReg 0x180ddd0, Register:v4i64 %vreg13
try.c: 0x18b89d0: v4i64 = Register %vreg13
try.c: 0x18b35d0: v16i32 = X86ISD::VBROADCAST 0x19074c0
try.c: 0x19074c0: i32,ch = load<LD4[ConstantPool]> 0x180ddd0, 0x1926a90, undef:i64
try.c: 0x1926a90: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x18d0060: i64 = TargetConstantPool<i32 1> 0
try.c: 0x19110a0: i64 = undef
try.c: 0x1926e20: 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: 0x1926cf0: i32 = Constant<0>
try.c: 0x1926cf0: i32 = Constant<0>
try.c: 0x1926cf0: i32 = Constant<0>
try.c: 0x1926cf0: 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: 0x1fdac70: v4i64 = X86ISD::VTRUNC 0x1fdaaa0
try.c: 0x1fdaaa0: v16i32 = vselect 0x1fe2f90, 0x1f864a0, 0x1fda970
try.c: 0x1fe2f90: v4i1 = X86ISD::PCMPGTM 0x1fc5570, 0x1f5f110
try.c: 0x1fc5570: v4i64 = X86ISD::VBROADCAST 0x1f5f4a0
try.c: 0x1f5f4a0: i64,ch = load<LD8[%uglygep72]> 0x1ebfdd0, 0x1fb9720, undef:i64
try.c: 0x1fb9720: i64 = add 0x1fc6450, 0x1f65e20
try.c: 0x1fc6450: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1fbaac0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1f65e20: i64 = shl 0x1fba270, Constant:i8<3>
try.c: 0x1fba270: i64,ch = CopyFromReg 0x1ebfdd0, Register:i64 %vreg50
try.c: 0x1fc6910: i64 = Register %vreg50
try.c: 0x1f83e90: i8 = Constant<3>
try.c: 0x1fc3be0: i64 = undef
try.c: 0x1f5f110: v4i64,ch = CopyFromReg 0x1ebfdd0, Register:v4i64 %vreg13
try.c: 0x1f6cd60: v4i64 = Register %vreg13
try.c: 0x1f864a0: v16i32 = X86ISD::VBROADCAST 0x1fba4d0
try.c: 0x1fba4d0: i32,ch = load<LD4[ConstantPool]> 0x1ebfdd0, 0x1fda5e0, undef:i64
try.c: 0x1fda5e0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1f60ed0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1fc3be0: i64 = undef
try.c: 0x1fda970: 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: 0x1fda840: i32 = Constant<0>
try.c: 0x1fda840: i32 = Constant<0>
try.c: 0x1fda840: i32 = Constant<0>
try.c: 0x1fda840: 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