[LLVMdev] neon registers llvm using

shaolin shaolin.wu at qq.com
Wed Mar 12 19:03:07 PDT 2014


Dear Anton:


    Thanks for the information, I need to add push/pop to my assembly codes.


    By the way, are there any optimization guidance document about how to write C/C++/ObjectC codes to help llvm compiler generate NEON codes?


Thanks again & Best Regards,
Shaolin




------------------ Original ------------------
From:  "Anton Korobeynikov";<anton at korobeynikov.info>;
Date:  Tue, Mar 11, 2014 01:51 AM
To:  "shaolin"<shaolin.wu at qq.com>; 
Cc:  "llvmdev"<llvmdev at cs.uiuc.edu>; 
Subject:  Re: [LLVMdev] neon registers llvm using



Hello

>     Can anyone let me know the default NEON registers llvm going to use with
> armv7 devices?
All available

> For example, d10 and d11 are treated as default zero?
No. Why?

> I also want to know other neon registers llvm will use in this way, I can
> protect them after calling to my handwrite assembly codes.
The list of call-saved / call-clobbered registers are specified by platform ABI.

For iOS you may want to read
https://developer.apple.com/library/ios/documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARMv7FunctionCallingConventions.html
For EABI/AAPCS -
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042e/IHI0042E_aapcs.pdf

But still, this does not apply to hand-written ASM code. You need to
instruct compiler about all the registers you may use / define /
clobber.

-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140313/73d67d43/attachment.html>


More information about the llvm-dev mailing list