<div>Dear Anton:</div><div><br></div><div>    Thanks for the information, I need to add push/pop to my assembly codes.</div><div><br></div><div>    By the way, are there any optimization guidance document about how to write C/C++/ObjectC codes to help llvm compiler generate NEON codes?</div><div><br></div><div>Thanks again & Best Regards,</div><div>Shaolin</div><div><div><br></div><div><br></div><div style="font-size: 12px;font-family: Arial Narrow;padding:2px 0 2px 0;">------------------ Original ------------------</div><div style="font-size: 12px;background:#efefef;padding:8px;"><div><b>From: </b> "Anton Korobeynikov";<anton@korobeynikov.info>;</div><div><b>Date: </b> Tue, Mar 11, 2014 01:51 AM</div><div><b>To: </b> "shaolin"<shaolin.wu@qq.com>; <wbr></div><div><b>Cc: </b> "llvmdev"<llvmdev@cs.uiuc.edu>; <wbr></div><div><b>Subject: </b> Re: [LLVMdev] neon registers llvm using</div></div><div><br></div>Hello<br><br>>     Can anyone let me know the default NEON registers llvm going to use with<br>> armv7 devices?<br>All available<br><br>> For example, d10 and d11 are treated as default zero?<br>No. Why?<br><br>> I also want to know other neon registers llvm will use in this way, I can<br>> protect them after calling to my handwrite assembly codes.<br>The list of call-saved / call-clobbered registers are specified by platform ABI.<br><br>For iOS you may want to read<br>https://developer.apple.com/library/ios/documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARMv7FunctionCallingConventions.html<br>For EABI/AAPCS -<br>http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042e/IHI0042E_aapcs.pdf<br><br>But still, this does not apply to hand-written ASM code. You need to<br>instruct compiler about all the registers you may use / define /<br>clobber.<br><br>-- <br>With best regards, Anton Korobeynikov<br>Faculty of Mathematics and Mechanics, Saint Petersburg State University<br></div>