This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Combine or peephole?


On 04/21/10 11:57, Frank Isamov wrote:

Instructions which manipulate with data in parallel and have no data
dependency automatically require peephole2 definition or/and machine
dependent reorg pass. (Please see an example at the bottom of this
email). Peephole2 pattern, in this case, just repeats instruction’s
RTL pattern.
As such instructions can appear in SIMD architectures, I just thought
that it would be profitable to have this pass to be a part of the
common infrastructure.
For traditional SIMD (as opposed to some of the weirder PA stuff like comclr) may fit better into an SLP vectorizing framework. You might look at tree-vect-slp. I'm familiar with the basics behind SLP, but I haven't looked at GCC's implementation -- my interest in supporting the PA, particularly these corner cases of the architecture which perform poorly on PA2.0 processors dwindled to nil over the years and thus I haven't looked at our SLP implementation :-)

There were a number of embedded architectures in the late 90s which had two-pack SIMD insns. It might be worth looking at those ports as well to see if there's something you might utilize from them.

jeff




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]