[LLVMdev] how to disable sse and avx
Michael Zolotukhin
mzolotukhin at apple.com
Thu May 14 11:11:49 PDT 2015
> On 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.
I guess the problem is that g++ might expect AT&T syntax in asm files. Could you try changing ‘--x86-asm-syntax=intel’ to ‘--x86-asm-syntax=att’?
Michael
>
> --
> Zhi
>
>
> On Thu, May 14, 2015 at 10:50 AM, mats petersson <mats at planetcatfish.com <mailto: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 <mailto: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 <mailto:LLVMdev at cs.uiuc.edu> http://llvm.cs.uiuc.edu <http://llvm.cs.uiuc.edu/>
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev <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 <mailto:LLVMdev at cs.uiuc.edu> http://llvm.cs.uiuc.edu <http://llvm.cs.uiuc.edu/>
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev <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/b6a58dd2/attachment.html>
More information about the llvm-dev
mailing list