[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