<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/115290>115290</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [TableGen] TableGen doesn't support multiple indepedent output values
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            tablegen
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          RKSimon
      </td>
    </tr>
</table>

<pre>
    Raised on #114425:

> Ah sorry, what I was actually talking about is having multiple output instructions with no data dependency between them. IIRC we can have multiple output results, or even multiple instructions in the output pattern as long as the output from one depends on the other.

Without this most targets have had to implement a sometimes large number of instructions in their DAGToDAGISel::Select implementations - which in the case of #114425 is causing build time issues on MSVC due to the sheer number of inlined functions.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsk09v2zAMxT-NfCEa2LLd1AcfsmYpgmGXptjOssVE2mTJEKkE-faD8mdtsV0SGxSffuR7VkT24BF70X4R7bpQiU2I_eu3nZ2CL4agz_2rsoQaggch66pqGtmKeiXKtSjvv_VXWBmgEONZyGc4GcWwhZMiUCMn5dwZWLnf1h9ADSExWAKjjvl9So7t7BBC4jlXPHFMI9vgCU6WDfgAWrECjTN6jX48w4B8QvTABqcFbLevz3BCGJXPqviPZkRKjimjhQh4RP9-5NN99iJ5b5sVM0YPisCFjE4fq_sYJggeb1yUF3Qps8G4-Lien5ZNHpqNJZgCMbCKB2S60hqlgQPYaXY4oWdQQGFCthMSuHwSfJoGjBD2_8O1Edarl7ewXr1sd-iyN_Vqhw5HfhdV144HOBk7mvugoyLMqn-NzcaMKlF2ZkjWacgYYIkSXib8vvvxDDphJs4KZBDjJz5nPWrYJ3-FXBS6r3VXd6rAvlrWZbdsu7orTC_3VVk-PdZPdTNWZaeV1m0zLB87XXbDY4uF7WUpm6oql1VZP7XdQrfLupay6hqsVa1G0ZQ4KesWzh2nRYiH4gLaV1Uru7JwakBHl2hLyWpweEAvpMxBj33ueRjSgURTOktM7yps2V0-ibfc9IJetGu4P4MOSF7IJQOleQ6RP4Yph0FnE28pOSqXkIoUXW-YZ8ruyI2Qm4Nlk4bFGCYhN_nm29_DHMMvHFnIzXXrQm5u8xx7-ScAAP__P-1BSQ">