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

    <tr>
        <th>Summary</th>
        <td>
            s390x: support `.machine push` and `.machine pop` assembler directives
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    The [documentation](https://sourceware.org/binutils/docs/as/s390-Directives.html) mentions that these directives should work (exactly like they do for powerpc):

> .machine STRING[+EXTENSION]…
This directive allows changing the machine for which code is generated. string may be any of the -march= selection options, or push, or pop. .machine push saves the currently selected cpu, which may be restored with .machine pop.

But LLVM does not currently accept them [in the ASM parser](https://github.com/llvm/llvm-project/blob/74306afe87b85cb9b5734044eb6c74b8290098b3/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp#L1362)


This came up here https://github.com/rust-lang/rust/pull/137720#discussion_r1973375073
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUVF2L6zYQ_TXKy7BGHsVfD37Idjflwr3b0g2l9KXI8sRWV5aMPjY3_77I-3mhFAohEiPpnDkzZyxD0JMl6ll1y6q7nUxxdr4_O_NEPo70vBvceO1PMwGrbken0kI2yqidZdUdw3aOcQ1MHBgeGR6DS17RRXoqnJ8YHgdtU9QmMDyOTuVF5r8gOn5zpz2pqJ8pFHNcDMMOMrh2NkCcZYQ4UyAY369BmF0yI1ycfwKGLX2XKporGP1E-fIVRgdn52F1F_KrYtjlzPj2E_dQLFLN2hI8nn778vBzloy393-c7h8ev_zykPXcI2s5O9SMH06zDh_cII1xlwBqlnbSdsp08AaXKS-zVjMoNxLoABNZ8jLSWECIPt9f5BUGAmmv4M7b65tFejUzcQeBTGZxFty6yWf4E2QZKcxvW7cWH_nnAwgylyQjqeQ92VyJFyQaQa0pv3zJ6pXbU4jO0wgXHedPYG4tXmp0myJ8_fr7NxgdBbAufkKWStG6tWTJTtB2Yz48foNV-kD-39ww6TinoVBuYXg05vltuVm9-5tUzP4wbmB4bPaC1_JMbTO0lRq6oWrEnu_3NNSq2Q8tdpx37SA-4ej87iT9RBnn8RoiLX8yPB7C8utLRu_R91Ch1pWh-FqKGrM5-Ks5tl4ruRCkFWbyBP8hxKcQb4y00-ue4XFNxjA8lqJpkDMUow4qhaCd_cuXXSNEU_FG7MZejJ3o5I76stnzusaua3dzP3Z7wfGsOtVWYmj40JQkG0l13ZZDcz7vdI8cK47YlAK7qi3OtWwk0lDyblRYcrbntEhtilydPHo7HUKivsSOV2Jn5EAmbDOOaOkC2ylDzCPv-60nQ5oC23OjQwwfMFFHQ30e1-9MHCCkdXU-Aqv5D2ZkNQdpxx_jbt3CIdAyGPKfBnmXvOn_t1e2pPPX41XVc4__BAAA__80lo1d">