On 2018/01/13 15:12, Rafael Sadowski wrote:
> I run into the following GCC compile error. Any ideas?
> % -> CC=egcc CXX=eg++ make -j8
> % ===> Building for botan2-2.4.0
> % eg++ -fstack-protector -m64 -pthread -mavx2 -fPIC -fvisibility=hidden
> -std=c++11 -D_REENTRANT -O2 -pipe -Wall -Wextra -Wpedantic -Wshadow
> -Wstrict-aliasing -Wstrict-overflow=5 -Wcast-align -W
> % missing-declarations -Wpointer-arith -Wcast-qual
> -I/usr/ports/pobj/botan2-2.4.0/build-amd64/build/include
> -I/usr/ports/pobj/botan2-2.4.0/build-amd64/build/include/external
> -I/usr/local/includ
> % e -c
> /usr/ports/pobj/botan2-2.4.0/Botan-2.4.0/src/lib/block/threefish/threefish_avx2/threefish_avx2.cpp
> -o
> /usr/ports/pobj/botan2-2.4.0/build-amd64/build/obj/lib/block_threefish_avx2.o
> % {standard input}: Assembler messages:
> % {standard input}:26: Error: no such instruction: `vmovq 24(%r8),%xmm3'
> % {standard input}:27: Error: no such instruction: `vpinsrq
> $1,40(%r8),%xmm3,%xmm0'
> % {standard input}:28: Error: no such instruction: `vmovq 8(%r8),%xmm1'
>
> % {standard input}:29: Error: no such instruction: `vmovq 64(%r8),%xmm6'
>
> % {standard input}:30: Error: no such instruction: `vpunpcklqdq
> %xmm3,%xmm1,%xmm3'
> % {standard input}:31: Error: no such instruction: `vpunpcklqdq
> %xmm1,%xmm6,%xmm4'
> % {standard input}:32: Error: no such instruction: `vinserti128
> $0x1,%xmm0,%ymm4,%ymm6'
> % {standard input}:33: Error: no such instruction: `vmovdqa %ymm6,-144(%rbp)'
>
> % {standard input}:34: Error: no such instruction: `vmovq 32(%r8),%xmm6'
>
> % {standard input}:35: Error: no such instruction: `vpinsrq
> $1,48(%r8),%xmm6,%xmm0'
> % {standard input}:36: Error: no such instruction: `vmovq (%r8),%xmm6'
>
> % {standard input}:37: Error: no such instruction: `vpinsrq
> $1,16(%r8),%xmm6,%xmm9'
> % ...
GCC uses binutils assembler, our version is too old to know these instructions.
Clang has an integrated assembler.