On 2018/01/13 14:40, Stuart Henderson wrote:
> 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.
> 

...Also, I don't think the gcc -m options (like -mavx2 here) do a
cpuid check, if that's true they can't be used for ports.

Reply via email to