On May 5, 9:31 am, MMoadeli <[email protected]> wrote:
> Hi Jeffery,
>
> Many thanks for the reply.
> With your advised compiler directives I got similar errors. I tried
> both gcc-4.4 and gcc-4.6.
> Actually, the errors are the result of compiling gcm.cpp. Following
> are the errors generated as the result of using different compiler
> directives.
OK. I had a little more time to look at this.

According to Intel (perhaps GCC would be a better source???),
pclmulqdq is part of AVX and available in GCC 4.6, not GCC 4.4. See
http://software.intel.com/en-us/avx/ and
http://software.intel.com/en-us/articles/intel-software-development-emulator/.
Intel's Software Development Emulator page has a Q and A that makes it
clear.

GCC 4.6 begs the question, why "no such instruction"? That could be
either a header problem, or a cross-compile issue. I believe the
correct header is included, so I'm leaning towards a cross-compile
issue. I suspect the AVX test on the Core2 is failing (Core2 does not
have AVX), so the instruction is left undefined. See
http://old.nabble.com/PATCH:-Support-Intel-AVX-Programming-Reference-(January,-2009)-td21833586.html.

Jeff


> ---------------------------
> 1- Using advised directives
>
> MyMacOSX>c++ -m64 -mtune=core2 -g3 -ggdb -DDEBUG -O0 -
> DCRYPTOPP_DISABLE_ASM -pipe -c gcm.cpp
>
> cpu.h:53:no such instruction: `pclmulqdq $16, -368(%rbp),%xmm0'
> cpu.h:53:no such instruction: `pclmulqdq $0, -224(%rbp),%xmm0'
> cpu.h:53:no such instruction: `pclmulqdq $0, -208(%rbp),%xmm0'
> cpu.h:53:no such instruction: `pclmulqdq $16, -160(%rbp),%xmm0'
> cpu.h:53:no such instruction: `pclmulqdq $1, -112(%rbp),%xmm0'
> cpu.h:53:no such instruction: `pclmulqdq $17, -32(%rbp),%xmm0'
> cpu.h:53:no such instruction: `pclmulqdq $0, -1344(%rbp),%xmm0'
> cpu.h:53:no such instruction: `pclmulqdq $1, -1264(%rbp),%xmm0'
> cpu.h:53:no such instruction: `pclmulqdq $0, -1152(%rbp),%xmm0'
> cpu.h:53:no such instruction: `pclmulqdq $1, -1024(%rbp),%xmm0'
> cpu.h:53:no such instruction: `pclmulqdq $1, -944(%rbp),%xmm0'
> cpu.h:53:no such instruction: `pclmulqdq $1, -832(%rbp),%xmm0'
> cpu.h:53:no such instruction: `pclmulqdq $16, -672(%rbp),%xmm0'
> cpu.h:53:no such instruction: `pclmulqdq $17, -592(%rbp),%xmm0'
> cpu.h:53:no such instruction: `pclmulqdq $16, -480(%rbp),%xmm0'
> cpu.h:53:no such instruction: `pclmulqdq $16, -352(%rbp),%xmm0'
> cpu.h:53:no such instruction: `pclmulqdq $16, -272(%rbp),%xmm0'
> cpu.h:53:no such instruction: `pclmulqdq $16, -160(%rbp),%xmm0'
>
> --------------------------
> 2- Other variations, -pipe doesn't affect
>
> MyMacOSX> c++ -m64 -mtune=core2 -g3 -ggdb -DDEBUG -O0 -mpclmul -maes  -
> DCRYPTOPP_DISABLE_ASM  -c gcm.cpp
> :3422:no such instruction: `pclmulqdq $16, %xmm1,%xmm0'
> :3472:no such instruction: `pclmulqdq $0, %xmm1,%xmm0'
> :3581:no such instruction: `pclmulqdq $0, %xmm1,%xmm0'
> :3588:no such instruction: `pclmulqdq $16, %xmm1,%xmm0'
> :3593:no such instruction: `pclmulqdq $1, %xmm2,%xmm1'
> :3611:no such instruction: `pclmulqdq $17, %xmm1,%xmm0'
> :52:no such instruction: `pclmulqdq $0, %xmm1,%xmm0'
> :69:no such instruction: `pclmulqdq $1, %xmm1,%xmm0'
> :102:no such instruction: `pclmulqdq $0, %xmm1,%xmm0'
> :38:no such instruction: `pclmulqdq $1, %xmm1,%xmm0'
> :55:no such instruction: `pclmulqdq $1, %xmm1,%xmm0'
> :86:no such instruction: `pclmulqdq $1, %xmm1,%xmm0'
> :52:no such instruction: `pclmulqdq $16, %xmm1,%xmm0'
> :69:no such instruction: `pclmulqdq $17, %xmm1,%xmm0'
> :102:no such instruction: `pclmulqdq $16, %xmm1,%xmm0'
> :38:no such instruction: `pclmulqdq $16, %xmm1,%xmm0'
> :55:no such instruction: `pclmulqdq $16, %xmm1,%xmm0'
> :86:no such instruction: `pclmulqdq $16, %xmm1,%xmm0'
> --------------------------------------------------------------------------- 
> -----------
>
> [SNIP]

-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.

Reply via email to