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

Reply via email to