Maybe some can help me a little bit with machine descriptions. Assuming there is a define_insn pattern "foo<mode>", and that pattern takes two arguments. The first argument sould be of the types DI, SI or HI, and the second argument is always half the size of the first argument.
One can define mode iterators for (define_mode_iterator ITER1 [DI SI HI]) (define_mode_iterator ITER2 [SI HI QI]) Is it possible to write something like this: (define_insn "foo<mode>" [(set (match_operand:ITER1 0 ...) ... [(match_operand:ITER1 1 ...) (match_operand:ITER2 2 ...)] ... so that the pattern is copied only for the combinations DI-SI, SI-HI and HI-QI, not for all nine combinations of the two iterators? (Or is there another way to get mode of the second argument depending on the first argument?) Ciao Dominik ^_^ ^_^ -- Dominik Vogt IBM Germany