Implementation notes: amd64, oki, crypto_aead/oceankeyakv1

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_aead
Primitive: oceankeyakv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
131216? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011020181123
136770? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011020181123
136870? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011020181123
139044? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
139066? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
139106? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
139802? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011020181123
141722? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011020181123
141744? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
141934? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011020181123
142234? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011020181123
142344? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
142572? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011020181123
143078? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011020181123
143546? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
145044? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011020181123
147414? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
147504? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011020181123
148570? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
148598? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
148936? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
148962? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
150490? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
150608? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011020181123
153068? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011020181123
153124? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011020181123
153492? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011020181123
179384? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011020181123
179518? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
179634? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
179822? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
185546? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011020181123
185662? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
185830? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011020181123
186490? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
186660? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
187626? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
187918? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011020181123
190360? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011020181123
190692? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
190852? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011020181123
192236? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
192870? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
203682? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011020181123
204524? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
208262? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
212056? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011020181123
212898? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011020181123
213012? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
215852? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
216050? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011020181123
216318? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
216488? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
468760? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011020181123
471938? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011020181123
472106? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011020181123
475922? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
476206? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
476762? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011020181123
476936? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011020181123
481004? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011020181123
481136? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011020181123
481150? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011020181123
488854? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
489198? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011020181123
496184? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011020181123
506670? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011020181123
506748? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
507040? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011020181123
611254? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
612138? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
707720? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011020181123
747092? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
747676? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
750742? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011020181123
751742? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011020181123
754028? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
755128? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
757852? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011020181123
758020? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011020181123
758798? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011020181123
759294? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011020181123
759378? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011020181123
759542? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011020181123
760056? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011020181123
760202? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011020181123
761178? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011020181123
761698? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
761910? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011020181123
761950? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011020181123
762208? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
762236? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
762894? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
763624? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011020181123
763902? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011020181123
764042? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011020181123
764116? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011020181123
764162? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
764164? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011020181123
764258? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
764384? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011020181123
766076? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011020181123
766284? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011020181123
767266? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
771846? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011020181123
772106? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011020181123
772570? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
772882? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011020181123
773204? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011020181123
773652? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
781760? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
781974? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
782386? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011020181123
782570? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
1174168? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
1174616? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011020181123
2668808? ? ?? ? ?refcc2019011020181123
2775182? ? ?? ? ?refgcc2019011020181123
2776220? ? ?? ? ?refgcc_-funroll-loops2019011020181123

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
KeccakDuplex.c: KeccakDuplex.c:63:9: warning: implicit declaration of function 'KeccakP1600_12_StatePermute' is invalid in C99 [-Wimplicit-function-declaration]
KeccakDuplex.c: KeccakF_StatePermute(instance->state);
KeccakDuplex.c: ^
KeccakDuplex.c: ./KeccakF-interface.h:53:30: note: expanded from macro 'KeccakF_StatePermute'
KeccakDuplex.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakDuplex.c:85:9: warning: implicit declaration of function 'KeccakP1600_12_StateXORPermuteExtract' is invalid in C99 [-Wimplicit-function-declaration]
KeccakDuplex.c: KeccakF_StateXORPermuteExtract(instance->state, sigmaBegin, sigmaBeginByteLen/KeccakF_laneInBytes,
KeccakDuplex.c: ^
KeccakDuplex.c: ./KeccakF-interface.h:73:40: note: expanded from macro 'KeccakF_StateXORPermuteExtract'
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: ^
KeccakDuplex.c: 2 warnings generated.
SerialFallback.c: SerialFallback.c:93:5: warning: implicit declaration of function 'KeccakP1600_12_StatePermute' is invalid in C99 [-Wimplicit-function-declaration]
SerialFallback.c: KeccakF_StatePermute(stateWithIndex(instanceIndex));
SerialFallback.c: ^
SerialFallback.c: ./KeccakF-interface.h:53:30: note: expanded from macro 'KeccakF_StatePermute'
SerialFallback.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
SerialFallback.c: ^
SerialFallback.c: 1 warning 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
KeccakDuplex.c: KeccakDuplex.c:63:9: warning: implicit declaration of function 'KeccakP1600_12_StatePermute' is invalid in C99 [-Wimplicit-function-declaration]
KeccakDuplex.c: KeccakF_StatePermute(instance->state);
KeccakDuplex.c: ^
KeccakDuplex.c: ./KeccakF-interface.h:53:30: note: expanded from macro 'KeccakF_StatePermute'
KeccakDuplex.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakDuplex.c:85:9: warning: implicit declaration of function 'KeccakP1600_12_StateXORPermuteExtract' is invalid in C99 [-Wimplicit-function-declaration]
KeccakDuplex.c: KeccakF_StateXORPermuteExtract(instance->state, sigmaBegin, sigmaBeginByteLen/KeccakF_laneInBytes,
KeccakDuplex.c: ^
KeccakDuplex.c: ./KeccakF-interface.h:73:40: note: expanded from macro 'KeccakF_StateXORPermuteExtract'
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: ^
KeccakDuplex.c: 2 warnings generated.
SerialFallback.c: SerialFallback.c:93:5: warning: implicit declaration of function 'KeccakP1600_12_StatePermute' is invalid in C99 [-Wimplicit-function-declaration]
SerialFallback.c: KeccakF_StatePermute(stateWithIndex(instanceIndex));
SerialFallback.c: ^
SerialFallback.c: ./KeccakF-interface.h:53:30: note: expanded from macro 'KeccakF_StatePermute'
SerialFallback.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
SerialFallback.c: ^
SerialFallback.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x18212e0: v4i64 = X86ISD::VTRUNC 0x1821110
try.c: 0x1821110: v16i32 = vselect 0x1811450, 0x1787270, 0x1820fe0
try.c: 0x1811450: v4i1 = X86ISD::PCMPGTM 0x180a020, 0x17b0fa0
try.c: 0x180a020: v4i64 = X86ISD::VBROADCAST 0x17b1330
try.c: 0x17b1330: i64,ch = load<LD8[%uglygep72]> 0x1704dd0, 0x17a06a0, undef:i64
try.c: 0x17a06a0: i64 = add 0x180af00, 0x17b4fb0
try.c: 0x180af00: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x17fc110: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x17b4fb0: i64 = shl 0x17fb8c0, Constant:i8<3>
try.c: 0x17fb8c0: i64,ch = CopyFromReg 0x1704dd0, Register:i64 %vreg50
try.c: 0x180b3c0: i64 = Register %vreg50
try.c: 0x179a770: i8 = Constant<3>
try.c: 0x1808690: i64 = undef
try.c: 0x17b0fa0: v4i64,ch = CopyFromReg 0x1704dd0, Register:v4i64 %vreg13
try.c: 0x17a2f60: v4i64 = Register %vreg13
try.c: 0x1787270: v16i32 = X86ISD::VBROADCAST 0x17fbb20
try.c: 0x17fbb20: i32,ch = load<LD4[ConstantPool]> 0x1704dd0, 0x1820c50, undef:i64
try.c: 0x1820c50: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x17b94b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1808690: i64 = undef
try.c: 0x1820fe0: 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: 0x1820eb0: i32 = Constant<0>
try.c: 0x1820eb0: i32 = Constant<0>
try.c: 0x1820eb0: i32 = Constant<0>
try.c: 0x1820eb0: 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
KeccakDuplex.c: KeccakDuplex.c:63:9: warning: implicit declaration of function 'KeccakP1600_12_StatePermute' is invalid in C99 [-Wimplicit-function-declaration]
KeccakDuplex.c: KeccakF_StatePermute(instance->state);
KeccakDuplex.c: ^
KeccakDuplex.c: ./KeccakF-interface.h:53:30: note: expanded from macro 'KeccakF_StatePermute'
KeccakDuplex.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakDuplex.c:85:9: warning: implicit declaration of function 'KeccakP1600_12_StateXORPermuteExtract' is invalid in C99 [-Wimplicit-function-declaration]
KeccakDuplex.c: KeccakF_StateXORPermuteExtract(instance->state, sigmaBegin, sigmaBeginByteLen/KeccakF_laneInBytes,
KeccakDuplex.c: ^
KeccakDuplex.c: ./KeccakF-interface.h:73:40: note: expanded from macro 'KeccakF_StateXORPermuteExtract'
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: ^
KeccakDuplex.c: 2 warnings generated.
SerialFallback.c: SerialFallback.c:93:5: warning: implicit declaration of function 'KeccakP1600_12_StatePermute' is invalid in C99 [-Wimplicit-function-declaration]
SerialFallback.c: KeccakF_StatePermute(stateWithIndex(instanceIndex));
SerialFallback.c: ^
SerialFallback.c: ./KeccakF-interface.h:53:30: note: expanded from macro 'KeccakF_StatePermute'
SerialFallback.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
SerialFallback.c: ^
SerialFallback.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x2282ec0: v4i64 = X86ISD::VTRUNC 0x2282cf0
try.c: 0x2282cf0: v16i32 = vselect 0x227eb60, 0x220c4d0, 0x2282bc0
try.c: 0x227eb60: v4i1 = X86ISD::PCMPGTM 0x225fa10, 0x220d280
try.c: 0x225fa10: v4i64 = X86ISD::VBROADCAST 0x220d610
try.c: 0x220d610: i64,ch = load<LD8[%uglygep72]> 0x215fda0, 0x2211be0, undef:i64
try.c: 0x2211be0: i64 = add 0x2264850, 0x21e12e0
try.c: 0x2264850: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x2257120: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x21e12e0: i64 = shl 0x22568d0, Constant:i8<3>
try.c: 0x22568d0: i64,ch = CopyFromReg 0x215fda0, Register:i64 %vreg50
try.c: 0x2264d10: i64 = Register %vreg50
try.c: 0x2221870: i8 = Constant<3>
try.c: 0x2262ff0: i64 = undef
try.c: 0x220d280: v4i64,ch = CopyFromReg 0x215fda0, Register:v4i64 %vreg13
try.c: 0x21fe140: v4i64 = Register %vreg13
try.c: 0x220c4d0: v16i32 = X86ISD::VBROADCAST 0x2256b30
try.c: 0x2256b30: i32,ch = load<LD4[ConstantPool]> 0x215fda0, 0x2282830, undef:i64
try.c: 0x2282830: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x21fba50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x2262ff0: i64 = undef
try.c: 0x2282bc0: 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: 0x2282a90: i32 = Constant<0>
try.c: 0x2282a90: i32 = Constant<0>
try.c: 0x2282a90: i32 = Constant<0>
try.c: 0x2282a90: 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

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc
KeccakDuplex.c: In file included from KeccakDuplex.h:17:0,
KeccakDuplex.c: from KeccakDuplex.c:15:
KeccakDuplex.c: KeccakDuplex.c: In function 'Keccak_Duplexing':
KeccakDuplex.c: KeccakF-interface.h:53:30: warning: implicit declaration of function 'KeccakP1600_12_StatePermute'; did you mean 'KeccakF1600_StatePermute'? [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakDuplex.c:63:9: note: in expansion of macro 'KeccakF_StatePermute'
KeccakDuplex.c: KeccakF_StatePermute(instance->state);
KeccakDuplex.c: ^~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakF-interface.h:73:40: warning: implicit declaration of function 'KeccakP1600_12_StateXORPermuteExtract'; did you mean 'KeccakF1600_StateXORPermuteExtract'? [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakF-interface.h:73:40: note: in definition of macro 'KeccakF_StateXORPermuteExtract'
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SerialFallback.c: In file included from ParallelKeccakFs.h:17:0,
SerialFallback.c: from SerialFallback.c:14:
SerialFallback.c: SerialFallback.c: In function 'KeccakF_ParallelStatePermute':
SerialFallback.c: KeccakF-interface.h:53:30: warning: implicit declaration of function 'KeccakP1600_12_StatePermute'; did you mean 'KeccakF1600_StatePermute'? [-Wimplicit-function-declaration]
SerialFallback.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
SerialFallback.c: ^
SerialFallback.c: SerialFallback.c:93:5: note: in expansion of macro 'KeccakF_StatePermute'
SerialFallback.c: KeccakF_StatePermute(stateWithIndex(instanceIndex));
SerialFallback.c: ^~~~~~~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 106, namely:
CompilerImplementations
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

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
KeccakDuplex.c: In file included from KeccakDuplex.h:17:0,
KeccakDuplex.c: from KeccakDuplex.c:15:
KeccakDuplex.c: KeccakDuplex.c: In function 'Keccak_Duplexing':
KeccakDuplex.c: KeccakF-interface.h:53:30: warning: implicit declaration of function 'KeccakP1600_12_StatePermute'; did you mean 'KeccakF1600_StatePermute'? [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakDuplex.c:63:9: note: in expansion of macro 'KeccakF_StatePermute'
KeccakDuplex.c: KeccakF_StatePermute(instance->state);
KeccakDuplex.c: ^~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakF-interface.h:73:40: warning: implicit declaration of function 'KeccakP1600_12_StateXORPermuteExtract'; did you mean 'KeccakF1600_StateXORPermuteExtract'? [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakF-interface.h:73:40: note: in definition of macro 'KeccakF_StateXORPermuteExtract'
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SerialFallback.c: In file included from ParallelKeccakFs.h:17:0,
SerialFallback.c: from SerialFallback.c:14:
SerialFallback.c: SerialFallback.c: In function 'KeccakF_ParallelStatePermute':
SerialFallback.c: KeccakF-interface.h:53:30: warning: implicit declaration of function 'KeccakP1600_12_StatePermute'; did you mean 'KeccakF1600_StatePermute'? [-Wimplicit-function-declaration]
SerialFallback.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
SerialFallback.c: ^
SerialFallback.c: SerialFallback.c:93:5: note: in expansion of macro 'KeccakF_StatePermute'
SerialFallback.c: KeccakF_StatePermute(stateWithIndex(instanceIndex));
SerialFallback.c: ^~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: In file included from KeccakDuplex.h:17:0,
KeccakDuplex.c: from KeccakDuplex.c:15:
KeccakDuplex.c: KeccakDuplex.c: In function 'Keccak_Duplexing':
KeccakDuplex.c: KeccakF-interface.h:53:30: warning: implicit declaration of function 'KeccakP1600_12_StatePermute'; did you mean 'KeccakF1600_StatePermute'? [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakDuplex.c:63:9: note: in expansion of macro 'KeccakF_StatePermute'
KeccakDuplex.c: KeccakF_StatePermute(instance->state);
KeccakDuplex.c: ^~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakF-interface.h:73:40: warning: implicit declaration of function 'KeccakP1600_12_StateXORPermuteExtract'; did you mean 'KeccakF1600_StateXORPermuteExtract'? [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakF-interface.h:73:40: note: in definition of macro 'KeccakF_StateXORPermuteExtract'
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SerialFallback.c: In file included from ParallelKeccakFs.h:17:0,
SerialFallback.c: from SerialFallback.c:14:
SerialFallback.c: SerialFallback.c: In function 'KeccakF_ParallelStatePermute':
SerialFallback.c: KeccakF-interface.h:53:30: warning: implicit declaration of function 'KeccakP1600_12_StatePermute'; did you mean 'KeccakF1600_StatePermute'? [-Wimplicit-function-declaration]
SerialFallback.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
SerialFallback.c: ^
SerialFallback.c: SerialFallback.c:93:5: note: in expansion of macro 'KeccakF_StatePermute'
SerialFallback.c: KeccakF_StatePermute(stateWithIndex(instanceIndex));
SerialFallback.c: ^~~~~~~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
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