Re: GCC -msse2 portability question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Laurent,

It occurs to me that all we're after is to enable SSE functions such as _mm_set_epi32. We're not trying to have the binary optimized in any implicit way, it is all explicit. The problem seems to be that -msse4.2 will do both 

* activate _mm_set_epi32 etc functions 
* optimize the binary to use sse4.2 instructions

Do you know of a compiler flag that would only 

* activate _mm_set_epi32 etc functions 

and not

* optimize the binary to use sse4.2 instructions

? It may be a RTFM question and I apologize for that. Reading http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/i386-and-x86-64-Options.html#i386-and-x86-64-Options it looks like this is more or less what --mtune=corei7-avx would do (because gf-complete uses PCLMUL when available). But it feels weird to specify a specific processor model where what we need is a set of features. 

Thanks for your help :-)

On 25/03/2014 10:43, Laurent GUERBY wrote:
> On Mon, 2014-03-24 at 22:27 +0100, Loic Dachary wrote:
>>
>> On 23/03/2014 23:34, Laurent GUERBY wrote:
>>> http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/i386-and-x86-64-Options.html#i386-and-x86-64-Options
>>>
>>> So unless you want to run your code a very very old x86 32 bit processor
>>> "-msse" shouldn't be an issue. "-msse2" is similar.
>>
>> This is good to know :) Should I be worried about unintended side effects of -msse4.2 -mssse3 -msse4.1 or -mpclmul ? These are the flags that gf-complete are using, specifically.
> 
> Hi,
> 
> SSE4.2 will be available only in more recent
> processors as documented on the page above.
> 
> If your library already is dynamically checking for processor
> feature I would advise to be conservative in your
> -m flags, ie using what debian would use for maximum
> x86 portability.
> 
> Sincerely,
> 
> Laurent
> 

-- 
Loïc Dachary, Artisan Logiciel Libre

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux