search for: widenvectoroperand

Displaying 5 results from an estimated 5 matches for "widenvectoroperand".

2012 Feb 29
2
[LLVMdev] Expand vector type
James, Thanks for your response. I'm working in LLVM 2.7 (I know, it's old) and the default behavior is already promote. This means that for example a call to DAGTypeLegalizer::getTypeAction(v3i32) in my case and I presume in ARM NEON returns TypeWidenVector. From here legalization calls WidenVectorOperand() to process the STORE node and follows the call chain I have on my original email to FindMemType(). If my analysis is correct then your v316 STOREs are being broken into multiple ones depending on ARM NEON support. Can you please confirm? Thanks, Javier From: James Molloy [mailto:james.molloy a...
2012 Feb 29
2
[LLVMdev] Expand vector type
...g is an 2:1 split of the vector that's less efficient in this case than actually widening the vector. The reason is that at this point the call to FindMemType assumes that stores can never be widened to a bigger type and so those types are not considered. The call sequence I'm looking at is WidenVectorOperand() -> WidenVecOp_STORE() -> GenWidenVectorStores() -> FindMemType(). I've made a very small modification to enable support for widening stores to a larger type. Before spending more time on working on a generic solution I have a couple of questions: * Is there a way to setup LLVM to au...
2012 Mar 05
0
[LLVMdev] Expand vector type
...James, Thanks for your response. I'm working in LLVM 2.7 (I know, it's old) and the default behavior is already promote. This means that for example a call to DAGTypeLegalizer::getTypeAction(v3i32) in my case and I presume in ARM NEON returns TypeWidenVector. From here legalization calls WidenVectorOperand() to process the STORE node and follows the call chain I have on my original email to FindMemType(). If my analysis is correct then your v316 STOREs are being broken into multiple ones depending on ARM NEON support. Can you please confirm? Thanks, Javier From: James Molloy [mailto:james.molloy a...
2012 Mar 05
1
[LLVMdev] Expand vector type
...t; Thanks for your response. I’m working in LLVM 2.7 (I know, it’s old) and the > default behavior is already promote. This means that for example a call to > DAGTypeLegalizer::getTypeAction(v3i32) in my case and I presume in ARM NEON > returns TypeWidenVector. From here legalization calls WidenVectorOperand() to > process the STORE node and follows the call chain I have on my original email to > FindMemType(). > > If my analysis is correct then your v316 STOREs are being broken into multiple > ones depending on ARM NEON support. Can you please confirm? > > Thanks, > > Javier...
2012 Feb 29
0
[LLVMdev] Expand vector type
...g is an 2:1 split of the vector that's less efficient in this case than actually widening the vector. The reason is that at this point the call to FindMemType assumes that stores can never be widened to a bigger type and so those types are not considered. The call sequence I'm looking at is WidenVectorOperand() -> WidenVecOp_STORE() -> GenWidenVectorStores() -> FindMemType(). I've made a very small modification to enable support for widening stores to a larger type. Before spending more time on working on a generic solution I have a couple of questions: * Is there a way to setup LLVM t...