|
From: | Richard Henderson |
Subject: | Re: [Qemu-devel] [v3 1/3] cutils: add avx2 instruction optimization |
Date: | Wed, 9 Dec 2015 06:57:05 -0800 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 |
On 12/09/2015 01:32 AM, Li, Liang Z wrote:
I think you means the ' __attribute__((target("avx2")))', I have tried this way, the issue here is: without the ' -mavx2' option for gcc, there are compiling error: '__m256i undeclared', the __attribute__((target("avx2"))) can't solve this issue. Any idea?
You're right that you can't use the normal __m256i, as it doesn't get declared. But you can define the same type within the function itself.
Which is a simple matter of typedef long long __m256i __attribute__((vector_size(32))); From there, you might as well rely on other gcc extensions to instead write __m256i tmp0 = p[i + 0] | p[i + 1]; rather than obfuscating the code with AVX2_VEC_OR. r~
[Prev in Thread] | Current Thread | [Next in Thread] |