[LLVMdev] how to disable sse and avx

Reid Kleckner rnk at google.com
Thu May 14 11:15:33 PDT 2015


Try not using intel assembly syntax, it is the less supported dialect.

On Thu, May 14, 2015 at 11:03 AM, Zhi Chen <zhichen1986 at gmail.com> wrote:

> Thanks, Mats. Actually, it is able to generate the assembly now  if I use
> the follow command: clang++ -O3 -S -mllvm --x86-asm-syntax=intel -mno-sse
> -o test_nosee.s test.cpp
> However, when I use g++ -O3 -o test_nosse test_nosse.s -lm to generate the
> executable, if gives me the following errors:
>
>  Error: too many memory references for `sub'
>  Error: too many memory references for `mov'
>  Error: too many memory references for `mov'
>  Error: too many memory references for `mov'
>  Error: too many memory references for `mov'
>  Error: junk `ptr [rsp+112]' after expression
>  Error: junk `ptr [rsp+128]' after expression
>  Error: junk `(1)' after expression
>  Error: operand size mismatch for `fsubrp'
>
> Any idea? Thanks.
>
> --
> Zhi
>
>
> On Thu, May 14, 2015 at 10:50 AM, mats petersson <mats at planetcatfish.com>
> wrote:
>
>> Sounds like a bug, as far as I can tell, -mno-sse should disable all use
>> of SSE instructions (and thus all uses of xmm registers). Exactly what
>> version of LLVM, and what instructions from what LLVM IR or C source?
>>
>> --
>> Mats
>>
>> On 14 May 2015 at 18:12, zhi chen <zchenhn at gmail.com> wrote:
>>
>>> Hello,
>>>
>>> I want to disable LLVM to use any SIMD registers like sse and avx. I
>>> tried -mno-sse and -mno-avx on my Core i7 machine. It seems that the
>>> generated assembly still uses xmm registers. Is there any way for LLVM to
>>> only use scalar registers?
>>>
>>> Thanks,
>>> Zhi
>>>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>
>>>
>>
>
>
> --
> PhD Student
> Department of Computer Science
> University of California, Irvine
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150514/85e95eb7/attachment.html>


More information about the llvm-dev mailing list