Implementation notes: amd64, sand, crypto_encrypt/ntruees1087ep1

Computer: sand
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20171218
Operation: crypto_encrypt
Primitive: ntruees1087ep1

Compiler output

Implementation: crypto_encrypt/ntruees1087ep1/ref
Compiler: cc
encrypt.c: encrypt.c:33:9: warning: implicit declaration of function 'ntru_crypto_external_drbg_instantiate' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: if (ntru_crypto_external_drbg_instantiate((RANDOM_BYTES_FN)&randombytesfn, &drbg) != DRBG_OK)
encrypt.c: ^
encrypt.c: 1 warning generated.
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:62:15: error: '__builtin_ia32_palignr128' needs target feature ssse3
ntru_crypto_ntru_mult_coeffs_simd.c: cur = _mm_alignr_epi8(next, cur, 2);
ntru_crypto_ntru_mult_coeffs_simd.c: ^
ntru_crypto_ntru_mult_coeffs_simd.c: /usr/lib/clang/5.0.1/include/tmmintrin.h:161:12: note: expanded from macro '_mm_alignr_epi8'
ntru_crypto_ntru_mult_coeffs_simd.c: (__m128i)__builtin_ia32_palignr128((__v16qi)(__m128i)(a), \
ntru_crypto_ntru_mult_coeffs_simd.c: ^
ntru_crypto_ntru_mult_coeffs_simd.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
cc ref
clang -O3 -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: crypto_encrypt/ntruees1087ep1/ref
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:33:9: warning: implicit declaration of function 'ntru_crypto_external_drbg_instantiate' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: if (ntru_crypto_external_drbg_instantiate((RANDOM_BYTES_FN)&randombytesfn, &drbg) != DRBG_OK)
encrypt.c: ^
encrypt.c: 1 warning generated.
ntru_crypto_sha1.c: ntru_crypto_sha1.c:83:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
ntru_crypto_sha1.c: E += RL(A, 5) + K00_19 + (B & (C ^ D) ^ D) + data[ 0]; B = RL(B, 30);
ntru_crypto_sha1.c: ~~^~~~~~~~~ ~
ntru_crypto_sha1.c: ntru_crypto_sha1.c:83:33: note: place parentheses around the '&' expression to silence this warning
ntru_crypto_sha1.c: E += RL(A, 5) + K00_19 + (B & (C ^ D) ^ D) + data[ 0]; B = RL(B, 30);
ntru_crypto_sha1.c: ^
ntru_crypto_sha1.c: ( )
ntru_crypto_sha1.c: ntru_crypto_sha1.c:84:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
ntru_crypto_sha1.c: D += RL(E, 5) + K00_19 + (A & (B ^ C) ^ C) + data[ 1]; A = RL(A, 30);
ntru_crypto_sha1.c: ~~^~~~~~~~~ ~
ntru_crypto_sha1.c: ntru_crypto_sha1.c:84:33: note: place parentheses around the '&' expression to silence this warning
ntru_crypto_sha1.c: D += RL(E, 5) + K00_19 + (A & (B ^ C) ^ C) + data[ 1]; A = RL(A, 30);
ntru_crypto_sha1.c: ^
ntru_crypto_sha1.c: ( )
ntru_crypto_sha1.c: ntru_crypto_sha1.c:85:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
ntru_crypto_sha1.c: C += RL(D, 5) + K00_19 + (E & (A ^ B) ^ B) + data[ 2]; E = RL(E, 30);
ntru_crypto_sha1.c: ~~^~~~~~~~~ ~
ntru_crypto_sha1.c: ntru_crypto_sha1.c:85:33: note: place parentheses around the '&' expression to silence this warning
ntru_crypto_sha1.c: C += RL(D, 5) + K00_19 + (E & (A ^ B) ^ B) + data[ 2]; E = RL(E, 30);
ntru_crypto_sha1.c: ^
ntru_crypto_sha1.c: ( )
ntru_crypto_sha1.c: ntru_crypto_sha1.c:86:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
ntru_crypto_sha1.c: B += RL(C, 5) + K00_19 + (D & (E ^ A) ^ A) + data[ 3]; D = RL(D, 30);
ntru_crypto_sha1.c: ~~^~~~~~~~~ ~
ntru_crypto_sha1.c: ntru_crypto_sha1.c:86:33: note: place parentheses around the '&' expression to silence this warning
ntru_crypto_sha1.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: crypto_encrypt/ntruees1087ep1/ref
Compiler: gcc
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:3:23: error: immintrin.h: No such file or directory
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c: In function 'grade_school_mul':
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:14: error: '__m128i' undeclared (first use in this function)
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:14: error: (Each undeclared identifier is reported only once
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:14: error: for each function it appears in.)
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:14: error: 'T' undeclared (first use in this function)
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:20: error: expected ';' before 'ai8'
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:21: error: expected ';' before 'ai8h'
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:22: error: expected ';' before 'ai8l'
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:23: error: expected ';' before 'abroad'
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:25: error: expected ';' before 'cur'
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:26: error: expected ';' before 'next'
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:28: error: expected ';' before 'x1'
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:29: error: expected ';' before 'x2'
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:31: error: expected expression before ')' token
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:37: error: 'ai8' undeclared (first use in this function)
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:37: error: expected expression before ')' token
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:38: error: 'ai8h' undeclared (first use in this function)
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:39: error: 'ai8l' undeclared (first use in this function)
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:40: error: 'abroad' undeclared (first use in this function)
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:54: error: 'cur' undeclared (first use in this function)
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:57: error: 'next' undeclared (first use in this function)
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:57: error: expected expression before ')' token
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:59: error: 'x2' undeclared (first use in this function)
ntru_crypto_ntru_mult_coeffs_simd.c: ntru_crypto_ntru_mult_coeffs_simd.c:65: error: 'x1' undeclared (first use in this function)

Number of similar (compiler,implementation) pairs: 66, 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=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=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=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=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