[llvm-dev] LoopVectorizer with ifconversion

Jonas Paulsson via llvm-dev llvm-dev at lists.llvm.org
Fri Mar 17 09:11:12 PDT 2017


Hi,

it seems to be generally a bad idea to enable vectorization of 
conditional stores on SystemZ, because it will cost extra instructions 
both to 1. extract compare result element 2. Do a test-under-mask 
instruction on that element 3. conditional branch past the store block.

Ideally, I would like to adjust the cost for the vector compare. I am 
not sure if this is feasable since I would need to know that the compare 
is becoming a vector compare for a block that will not go away after 
vectorization (which is the case if there is a store in it).

The LoopVectorizer seems to have this information available. Is it 
possible to easily use it in this case somehow?

Or is it more convenient to add a tti hook to complement the 
EnableCondStoresVectorization option, perhaps?

/Jonas



More information about the llvm-dev mailing list