Implementation notes: amd64, genji262, crypto_hash/simd256

Computer: genji262
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20190910
Operation: crypto_hash
Primitive: simd256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
941622232 416 038148 1288 744vect128icc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019091220190910
970222192 416 037708 1288 744vect128icc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019091220190910
3484849511 0 062051 792 752sphlibclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
3487047231 0 059179 792 752sphlibclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
3504647231 0 059179 792 752sphlibclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
3601445034 0 054321 784 736sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
3698252576 0 064265 800 776sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
4730070272 0 084333 840 744sphlibicc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019091220190910
4738831008 0 043555 792 752sphlib-smallclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
4745471776 0 087485 840 744sphlibicc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019091220190910
4771876024 0 091333 840 744sphlibicc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019091220190910
4798225968 0 037923 792 752sphlib-smallclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
4818025968 0 037923 792 752sphlib-smallclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
4864276024 0 091333 840 744sphlibicc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019091220190910
4870871776 0 087485 840 744sphlibicc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019091220190910
4879671776 0 087485 840 744sphlibicc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019091220190910
4923676024 0 091333 840 744sphlibicc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019091220190910
4923671776 0 087485 840 744sphlibicc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019091220190910
4928076024 0 091333 840 744sphlibicc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019091220190910
4961074376 0 088493 840 744sphlibicc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019091220190910
4991823749 0 033065 784 736sphlib-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
5027072160 0 087517 840 744sphlibicc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019091220190910
5086449528 0 059753 800 776sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
5090872160 0 087517 840 744sphlibicc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019091220190910
5097431120 0 042833 800 776sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
5126072160 0 087517 840 744sphlibicc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019091220190910
5128276424 0 091813 840 744sphlibicc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019091220190910
5150276424 0 091813 840 744sphlibicc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019091220190910
5214048770 0 058849 800 776sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
5238272160 0 087517 840 744sphlibicc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019091220190910
5280048810 416 060704 1248 776optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
5328476424 0 091813 840 744sphlibicc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019091220190910
5398876424 0 091813 840 744sphlibicc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019091220190910
5854263744 0 079509 840 744sphlib-smallicc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019091220190910
5871863744 0 079509 840 744sphlib-smallicc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019091220190910
5880663744 0 079509 840 744sphlib-smallicc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019091220190910
5900464576 0 078661 840 744sphlib-smallicc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019091220190910
5953263616 0 078981 840 744sphlib-smallicc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019091220190910
5964264144 0 078285 840 744sphlib-smallicc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019091220190910
5966464528 0 079941 840 744sphlib-smallicc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019091220190910
5975263616 0 078981 840 744sphlib-smallicc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019091220190910
5988463680 0 079445 840 744sphlib-smallicc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019091220190910
5995063552 0 078917 840 744sphlib-smallicc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019091220190910
6047864960 0 080341 840 744sphlib-smallicc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019091220190910
6076463616 0 078981 840 744sphlib-smallicc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019091220190910
6083064528 0 079941 840 744sphlib-smallicc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019091220190910
6111664528 0 079941 840 744sphlib-smallicc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019091220190910
6116064528 0 079941 840 744sphlib-smallicc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019091220190910
6151264960 0 080341 840 744sphlib-smallicc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019091220190910
6151264960 0 080341 840 744sphlib-smallicc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019091220190910
6168864960 0 080341 840 744sphlib-smallicc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019091220190910
6595628072 0 038321 800 776sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
6701227447 0 037553 800 776sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
7684636868 416 052436 1288 744opticc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019091220190910
7686836868 416 052436 1288 744opticc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019091220190910
7686836868 416 052436 1288 744opticc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019091220190910
7689036868 416 052436 1288 744opticc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019091220190910
7741815128 416 025536 1248 776optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
7832039292 416 054892 1288 744opticc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019091220190910
7889239292 416 054892 1288 744opticc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019091220190910
7898039292 416 054892 1288 744opticc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019091220190910
7902439292 416 054892 1288 744opticc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019091220190910
7946440948 416 055276 1288 744opticc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019091220190910
7953025530 0 034692 776 776sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
8045438116 416 052388 1288 744opticc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019091220190910
8197227245 388 038654 1204 752optclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
8212627245 388 038654 1204 752optclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
8410646477 0 055620 776 776sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
8476633527 388 044662 1204 752optclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
8507438812 416 054364 1288 744opticc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019091220190910
8555836900 416 052852 1288 744opticc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019091220190910
8670236900 416 052852 1288 744opticc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019091220190910
8703236900 416 052852 1288 744opticc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019091220190910
8723036900 416 052852 1288 744opticc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019091220190910
8738438812 416 054364 1288 744opticc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019091220190910
8745038812 416 054364 1288 744opticc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019091220190910
9033215557 416 025816 1248 776optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
9708638812 416 054364 1288 744opticc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019091220190910
11050619029 388 028516 1196 736optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
11341012921 416 022243 1224 776optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
268287812561 416 024440 1248 776refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
26970245391 416 015744 1248 776refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
27222365059 416 015264 1248 776refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
277384813002 388 025774 1204 752refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
279175611250 388 023334 1204 752refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
279534211250 388 023334 1204 752refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
28040984586 388 014060 1196 736refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
282594419932 416 035460 1288 744reficc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019091220190910
283120219932 416 035460 1288 744reficc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019091220190910
283181819436 416 035012 1288 744reficc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019091220190910
283186219436 416 035012 1288 744reficc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019091220190910
283225819436 416 035012 1288 744reficc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019091220190910
283707620524 416 036068 1288 744reficc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019091220190910
283943021100 416 037028 1288 744reficc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019091220190910
284770221100 416 037028 1288 744reficc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019091220190910
285232218668 416 032972 1288 744reficc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019091220190910
286213419436 416 035012 1288 744reficc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019091220190910
286334419932 416 035460 1288 744reficc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019091220190910
286360819932 416 035460 1288 744reficc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019091220190910
286609420004 416 034252 1288 744reficc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019091220190910
286649020524 416 036068 1288 744reficc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019091220190910
287018621100 416 037028 1288 744reficc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019091220190910
287606020524 416 036068 1288 744reficc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019091220190910
288840220524 416 036068 1288 744reficc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019091220190910
290085421100 416 037028 1288 744reficc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019091220190910
59323884398 416 013659 1224 776refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910

Test failure

Implementation: crypto_hash/simd256/opt
Compiler: icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 24, namely:
CompilerImplementations
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer opt ref sphlib sphlib-small
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer opt ref sphlib sphlib-small
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer opt ref sphlib sphlib-small
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer opt ref sphlib sphlib-small
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer opt ref sphlib sphlib-small
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer opt ref sphlib sphlib-small

Compiler output

Implementation: crypto_hash/simd256/ref
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
reference.c: reference.c:69:82: warning: expression result unused [-Wunused-value]
reference.c: state->A[j] = state->D[j] + w[j] + F(state->A[j], state->B[j], state->C[j]), s;
reference.c: ^
reference.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref

Compiler output

Implementation: crypto_hash/simd256/vect128
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
vector.c: vector.c:73:9: warning: 'X' macro redefined [-Wmacro-redefined]
vector.c: #define X(i) X##i
vector.c: ^
vector.c: vector.c:68:9: note: previous definition is here
vector.c: #define X(i) A[i]
vector.c: ^
vector.c: vector.c:129:3: error: use of unknown builtin '__builtin_ia32_pcmpgtw128' [-Wimplicit-function-declaration]
vector.c: DO_REDUCE_FULL_S(0);
vector.c: ^
vector.c: vector.c:56:12: note: expanded from macro 'DO_REDUCE_FULL_S'
vector.c: X(i) = EXTRA_REDUCE_S(X(i)); \
vector.c: ^
vector.c: vector.c:42:32: note: expanded from macro 'EXTRA_REDUCE_S'
vector.c: v16_sub(x, v16_and(V257.v16, v16_cmp(x, V128.v16)))
vector.c: ^
vector.c: ./vector.h:92:22: note: expanded from macro 'v16_cmp'
vector.c: #define v16_cmp __builtin_ia32_pcmpgtw128
vector.c: ^
vector.c: vector.c:129:3: error: cannot convert between scalar type 'int' and vector type 'v16' (aka 'v8hi') as implicit conversion would cause truncation
vector.c: vector.c:56:12: note: expanded from macro 'DO_REDUCE_FULL_S'
vector.c: X(i) = EXTRA_REDUCE_S(X(i)); \
vector.c: ^
vector.c: vector.c:42:14: note: expanded from macro 'EXTRA_REDUCE_S'
vector.c: v16_sub(x, v16_and(V257.v16, v16_cmp(x, V128.v16)))
vector.c: ^
vector.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE vect128
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE vect128
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE vect128
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE vect128

Compiler output

Implementation: crypto_hash/simd256/vect128
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
vector.c: vector.c: In function 'fft64':
vector.c: vector.c:73: warning: "X" redefined
vector.c: 73 | #define X(i) X##i
vector.c: |
vector.c: vector.c:68: note: this is the location of the previous definition
vector.c: 68 | #define X(i) A[i]
vector.c: |
vector.c: vector.c: In function 'rounds512':
vector.c: vector.c:796: warning: "STEP_1" redefined
vector.c: 796 | #define STEP_1(a,b,c,d,w,fun,r,s,z) \
vector.c: |
vector.c: vector.c:542: note: this is the location of the previous definition
vector.c: 542 | #define STEP_1(a,b,c,d,w,fun,r,s,z) \
vector.c: |
vector.c: vector.c:805: warning: "STEP_2" redefined
vector.c: 805 | #define STEP_2(a,b,c,d,w,fun,r,s) \
vector.c: |
vector.c: vector.c:566: note: this is the location of the previous definition
vector.c: 566 | #define STEP_2(a,b,c,d,w,fun,r,s) \
vector.c: |
vector.c: vector.c:808: warning: "STEP" redefined
vector.c: 808 | #define STEP(a,b,c,d,w1,w2,fun,r,s,z) \
vector.c: |
vector.c: vector.c:571: note: this is the location of the previous definition
vector.c: 571 | #define STEP(a,b,c,d,w,fun,r,s,z) \
vector.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128

Compiler output

Implementation: crypto_hash/simd256/vect128
Compiler: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
vector.c: vector.c(73): warning #47: incompatible redefinition of macro "X" (declared at line 68)
vector.c: #define X(i) X##i
vector.c: ^
vector.c:
vector.c: vector.c(796): warning #47: incompatible redefinition of macro "STEP_1" (declared at line 542)
vector.c: #define STEP_1(a,b,c,d,w,fun,r,s,z) \
vector.c: ^
vector.c:
vector.c: vector.c(805): warning #47: incompatible redefinition of macro "STEP_2" (declared at line 566)
vector.c: #define STEP_2(a,b,c,d,w,fun,r,s) \
vector.c: ^
vector.c:
vector.c: vector.c(808): warning #47: incompatible redefinition of macro "STEP" (declared at line 571)
vector.c: #define STEP(a,b,c,d,w1,w2,fun,r,s,z) \
vector.c: ^
vector.c:
vector.c: vector.c(829): warning #47: incompatible redefinition of macro "ROUND" (declared at line 579)
vector.c: #define ROUND(h0,l0,u0,h1,l1,u1,h2,l2,u2,h3,l3,u3, \
vector.c: ^
vector.c:
vector.c: vector.c(854): warning #47: incompatible redefinition of macro "PERM_START" (declared at line 852)
vector.c: #define PERM_START 4
vector.c: ^
vector.c:
vector.c: vector.c(856): warning #47: incompatible redefinition of macro "PERM_START" (declared at line 854)
vector.c: ...

Number of similar (compiler,implementation) pairs: 24, namely:
CompilerImplementations
icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer vect128
icc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer vect128
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer vect128
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer vect128
icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer vect128
icc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer vect128
icc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer vect128
icc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer vect128
icc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer vect128
icc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer vect128
icc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer vect128
icc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer vect128
icc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer vect128
icc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer vect128
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer vect128
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer vect128
icc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer vect128
icc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer vect128
icc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer vect128
icc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer vect128
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer vect128
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer vect128
icc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer vect128
icc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer vect128