[LLVMdev] how to disable sse and avx
Zhi Chen
zhichen1986 at gmail.com
Thu May 14 11:03:47 PDT 2015
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150514/813d37c0/attachment.html>
More information about the llvm-dev
mailing list