Demikhovsky, Elena
2012-Jan-08 08:39 UTC
[LLVMdev] Calling conventions for YMM registers on AVX
Hi, What is the calling conventions for YMM. According to documents I saw till now, the YMMs are scratch and not saved in callee. This is also the default behavior of the Intel Compiler. In X86InstrControl.td the YMMs are not in "defs" set of call. - Elena --------------------------------------------------------------------- Intel Israel (74) Limited This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.
Bruno Cardoso Lopes
2012-Jan-09 03:19 UTC
[LLVMdev] Calling conventions for YMM registers on AVX
Hi,> What is the calling conventions for YMM. According to documents I saw till now, the YMMs are scratch and not saved in callee. > This is also the default behavior of the Intel Compiler.x86_64 Non-windows targets use the rules defined in the x86_64 abi!> In X86InstrControl.td the YMMs are not in "defs" set of call.The XMMs are subregisters of YMMs, and they are in the list, that should be sufficient for clobbering the YMM ones. -- Bruno Cardoso Lopes http://www.brunocardoso.cc
Demikhovsky, Elena
2012-Jan-09 07:18 UTC
[LLVMdev] Calling conventions for YMM registers on AVX
I'll explain what we see in the code. 1. The caller saves XMM registers across the call if needed (according to DEFS definition). YMMs are not in the set, so caller does not take care. 2. The callee preserves XMMs but works with YMMs and clobbering them. 3. So after the call, the upper part of YMM is gone. - Elena -----Original Message----- From: Bruno Cardoso Lopes [mailto:bruno.cardoso at gmail.com] Sent: Monday, January 09, 2012 05:19 To: Demikhovsky, Elena Cc: llvmdev at cs.uiuc.edu Subject: Re: [LLVMdev] Calling conventions for YMM registers on AVX Hi,> What is the calling conventions for YMM. According to documents I saw till now, the YMMs are scratch and not saved in callee. > This is also the default behavior of the Intel Compiler.x86_64 Non-windows targets use the rules defined in the x86_64 abi!> In X86InstrControl.td the YMMs are not in "defs" set of call.The XMMs are subregisters of YMMs, and they are in the list, that should be sufficient for clobbering the YMM ones. -- Bruno Cardoso Lopes http://www.brunocardoso.cc --------------------------------------------------------------------- Intel Israel (74) Limited This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.
Possibly Parallel Threads
- [LLVMdev] Calling conventions for YMM registers on AVX
- [LLVMdev] Calling conventions for YMM registers on AVX
- [LLVMdev] Calling conventions for YMM registers on AVX
- [LLVMdev] Calling conventions for YMM registers on AVX
- [LLVMdev] Calling conventions for YMM registers on AVX