On 15/11/13 02:06, Cong Hou wrote: > Hi > > This patch adds the support to two non-isomorphic operations addsub > and subadd for SLP vectorizer. More non-isomorphic operations can be > added later, but the limitation is that operations on even/odd > elements should still be isomorphic. Once such an operation is > detected, the code of the operation used in vectorized code is stored > and later will be used during statement transformation. Two new GIMPLE > opeartions VEC_ADDSUB_EXPR and VEC_SUBADD_EXPR are defined. And also > new optabs for them. They are also documented. >
Not withstanding what Richi has already said on this subject, you certainly don't need both VEC_ADDSUB_EXPR and VEC_SUBADD_EXPR. The latter can always be formed by vec-negating the second operand and passing it to VEC_ADDSUB_EXPR. R.