<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi list,<br>
    <br>
    I'm trying to match a particular pattern into the SDag which looks
    like this:<br>
    <br>
    // non-commutative multiplication<br>
    <font face="Courier New, Courier, monospace">def ncmul            :
      SDNode<"ISD::MUL"       , SDTIntBinOp,<br>
                              [SDNPAssociative]>;<br>
      <br>
      def mula_pat         : PatFrag<(ops node:$a, node:$b),<br>
                                     (add<br>
                                       (ncmul<br>
                                         (sext (i16 (extractelt node:$a,
      (i32 0)))),<br>
                                         (sext (i16 (extractelt node:$b,
      (i32 1))))<br>
                                       ),<br>
                                       (ncmul<br>
                                         (sext (i16 (extractelt node:$a,
      (i32 1)))),<br>
                                         (sext (i16 (extractelt node:$b,
      (i32 0))))<br>
                                       )<br>
                                     )<br>
                                     >;<br>
      <br>
      def ADDMULv  : InstSP< (outs IntRegs:$dst), (ins IntRegs:$a,
      IntRegs:$b),<br>
                         "muladd $a, $b, $dst",<br>
                         [(set (i32 IntRegs:$dst), (mula_pat (v2i16
      IntRegs:$a), (v2i16 IntRegs:$b)))]>;</font><br>
    <br>
    IntRegs is class with a type list of [i32, v2i16]<br>
    <br>
    But I get the following error when llvm building system try to
    generate the ISelector<br>
    <br>
    <font face="Courier New, Courier, monospace">llvm[3]: Building
      Sparc.td DAG instruction selector implementation with tblgen<br>
      vtInt:     (vt:Other)<<P:Predicate_vtInt>><br>
      Type constraint application shouldn't fail!0  llvm-tblgen
      0x081d6de7<br>
      1  llvm-tblgen 0x081d6b74<br>
      2              0x4001d400 __kernel_sigreturn + 0<br>
      3  libc.so.6   0x401b8a82 abort + 386<br>
      4  llvm-tblgen 0x0810a4ab<br>
      5  llvm-tblgen 0x0810a38f<br>
      6  llvm-tblgen 0x0810dd72<br>
      7  llvm-tblgen 0x080f8d98<br>
      8  llvm-tblgen 0x08176f49<br>
      9  llvm-tblgen 0x08184519<br>
      10 llvm-tblgen 0x081760e5<br>
      11 libc.so.6   0x401a1bd6 __libc_start_main + 230<br>
      12 llvm-tblgen 0x0804cb51</font><br>
    <br>
    Any clue where it may come from ?<br>
    <br>
    <br>
    Ivan<br>
  </body>
</html>