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

    <tr>
        <th>Summary</th>
        <td>
            `clang-18.1.8` crash in "Early Machine Loop Invariant Code Motion"
        </td>
    </tr>

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

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

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

<pre>
    Hi all,

I get the following compiler crash:

```
Stack dump:
0.      Program arguments: /usr/lib/llvm-18/bin/clang -U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -Wunused-but-set-parameter -Wno-free-nonheap-object -fcolor-diagnostics -fno-omit-frame-pointer -g0 -O2 -D_FORTIFY_SOURCE=1 -DNDEBUG -ffunction-sections -fdata-sections -MD -MF bazel-out/k8-opt/bin/_objs/avx512fp16_prod_microkernels/f16-vsin-avx512fp16-rational-3-2-div.d -frandom-seed=bazel-out/k8-opt/bin/_objs/avx512fp16_prod_microkernels/f16-vsin-avx512fp16-rational-3-2-div.o -DPTHREADPOOL_NO_DEPRECATED_API -DXNN_LOG_LEVEL=0 -DXNN_ENABLE_CPUINFO=1 -DXNN_ENABLE_MEMOPT=1 -DXNN_ENABLE_SPARSE=1 -DXNN_ENABLE_ASSEMBLY=1 -DXNN_ENABLE_ARM_FP16_SCALAR=0 -DXNN_ENABLE_ARM_FP16_VECTOR=0 -DXNN_ENABLE_ARM_BF16=0 -DXNN_ENABLE_ARM_DOTPROD=0 -DXNN_ENABLE_ARM_I8MM=0 -DXNN_ENABLE_RISCV_FP16_VECTOR=0 -DXNN_ENABLE_AVX512AMX=1 -DXNN_ENABLE_AVX512FP16=1 -DXNN_ENABLE_AVX512BF16=1 -DXNN_ENABLE_AVXVNNI=1 -DXNN_ENABLE_AVXVNNIINT8=1 -DXNN_ENABLE_AVX512F=1 -DXNN_ENABLE_AVX256SKX=1 -DXNN_ENABLE_AVX256VNNI=1 -DXNN_ENABLE_AVX256VNNIGFNI=1 -DXNN_ENABLE_AVX512SKX=1 -DXNN_ENABLE_AVX512VBMI=1 -DXNN_ENABLE_AVX512VNNI=1 -DXNN_ENABLE_AVX512VNNIGFNI=1 -DXNN_ENABLE_HVX=0 -DXNN_ENABLE_KLEIDIAI=0 -DXNN_ENABLE_SRM_SME=0 -DXNN_ENABLE_ARM_SME2=0 -DXNN_ENABLE_WASM_REVECTORIZE=0 -iquote . -iquote bazel-out/k8-opt/bin -iquote external/+_repo_rules+pthreadpool -iquote bazel-out/k8-opt/bin/external/+_repo_rules+pthreadpool -iquote external/+_repo_rules+FXdiv -iquote bazel-out/k8-opt/bin/external/+_repo_rules+FXdiv -iquote external/+_repo_rules+cpuinfo -iquote bazel-out/k8-opt/bin/external/+_repo_rules+cpuinfo -Ibazel-out/k8-opt/bin/external/+_repo_rules+pthreadpool/_virtual_includes/pthreadpool -Ibazel-out/k8-opt/bin/external/+_repo_rules+FXdiv/_virtual_includes/FXdiv -Ibazel-out/k8-opt/bin/external/+_repo_rules+cpuinfo/_virtual_includes/cpuinfo -isystem include -isystem bazel-out/k8-opt/bin/include -isystem src -isystem bazel-out/k8-opt/bin/src -isystem external/+_repo_rules+pthreadpool/include -isystem bazel-out/k8-opt/bin/external/+_repo_rules+pthreadpool/include -isystem external/+_repo_rules+FXdiv/include -isystem bazel-out/k8-opt/bin/external/+_repo_rules+FXdiv/include -isystem external/+_repo_rules+cpuinfo/include -isystem bazel-out/k8-opt/bin/external/+_repo_rules+cpuinfo/include -isystem external/+_repo_rules+cpuinfo/src -isystem bazel-out/k8-opt/bin/external/+_repo_rules+cpuinfo/src -Wno-unused-but-set-variable -mstack-alignment=64 -fomit-frame-pointer -mstackrealign -mf16c -mfma -mavx512f -mavx512cd -mavx512bw -mavx512dq -mavx512vl -mavx512vnni -mgfni -mavx512fp16 -std=c99 -O2 -c src/f16-vsin/gen/f16-vsin-avx512fp16-rational-3-2-div.c -o bazel-out/k8-opt/bin/_objs/avx512fp16_prod_microkernels/f16-vsin-avx512fp16-rational-3-2-div.o -no-canonical-prefixes -Wno-builtin-macro-redefined -D__DATE__=\"redacted\" -D__TIMESTAMP__=\"redacted\" -D__TIME__=\"redacted\"
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'src/f16-vsin/gen/f16-vsin-avx512fp16-rational-3-2-div.c'.
4.      Running pass 'Early Machine Loop Invariant Code Motion' on function '@xnn_f16_vsin_ukernel__avx512fp16_rational_3_2_div_u32'
```
```
$ /usr/lib/llvm-18/bin/clang --version
Debian clang version 18.1.8 (16)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-18/bin
```
I've attached the pre-processed source file generated with the same arguments as the command above.

[f16-vsin-avx512fp16-rational-3-2-div.c.gz](https://github.com/user-attachments/files/19340278/f16-vsin-avx512fp16-rational-3-2-div.c.gz)

I tried reproducing with version `19.1.7`, but that doesn't fail.

Pending a fix, is there anything I can do to work around this issue?

Cheers, Pedro
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy8WF1v4jgX_jXmxjJKHAhwwUVKkh20pSBg2u57E5nkJHgmsbO2Q9v99a-c0Ha6hQ6zXa00mhg_j8-303PCtOaFAJii4RUahj3WmL1U00IKAaa3k9nT9AvHrCwRnSEnQE4wxwUYbPaAc1mW8oGLAqeyqnkJCqeK6T3ygo6KfOf4zwk2hqXfcdZUdQc7feRMVkoWilWYqaKpQBiNvAAjGjdaIRqXfGf_Lw8VcceIxjsuEI3TkokCk69JvFxv5_EfyWb5dT2LMMm1VUFqJQ2kRipM7lhZYnJn9gpYRjTLwTxhcqehzEnnOCZ3jWg0ZGTXGKLBkJopVoEBe1xIkisAIqTYA6uJ3H2D1GCSp7KUimScFUJqw1ONSS4kkRU3JLfnSS25aIUUDiZLikn4N3uRF7qYhDdhdPX1N0zyvBGp4VIQDe3TisyYYT_8XoSYLGK8Y39BSWRjEI2_j4mszUtsErn7phGN2eFx6NK8dv2kVjJLKp4q-R2UgNLCueuTg-aCvPKIYlYLK4lHKMn4oZ9h64rIZEU0QIa88D9SLDEJV9sv6ygIV8vldXKzTMJotY5mwTYKk2A1xyS8v7lJrpe_JdfRbXSNvNA57kU3wdV1lMxWX-c38fIY4x-ARbRYrrbv9zerYL2J3u8Hm020uLr-4wSyXiTxyvWTzSy4DtbvbXgh3Eaz7fIM4Sp2_dNIuNyu1svwNDgfLxbvkfV8M7v9ic7b-6FLg8X9CYdayJ4-hx2NfY_d3tzMzwLzm-34rLaTAB36m99PW0iH_lllR-y3-Aw-dOk5sUOX3l4tzh47q_KInVb55fb-fQJ-v47m4TyYv0c260WyWUSnE75ZRPQ9chdsFsk66pI9_9_xLP-zkQZw_2V17t6-EODRgBKsRDRG9CpRUMtENSVoRK_q7u1ZS1n-VCCi8a-K-ogf32f88Fmlb4V8xEzrhotcflbhi5j558Nk36wHrkzDyoSLtGwyy4jfBPKfqmkDc0bBMWj_VPQxBGeEv8ZZP2kDFT5irxsfqH3H1Sq96OAb3uXh_xXbPiH1kkT9W6aclXdZSv8tMz6QeNmxSzP_C9Jsx_e3fvDAFGe7EjCpuv6SlbwQtllFXugPMMlPdX0dV0FLxqTKXT-1j4phUh2bn5dVmr0sdw8vy-zPl-WhfF0KwTGpirx9vLZRmGhje7R0Mun6zdTejB9aLkTjAsSlPViKifyvGk2JiZAkZUIKnrKS1Apy_gi6S8eu4aXhglQsVZIoyCDnAjLbUCdhsI2SBHkhGs4QpQoylhrIul8tYztfRJttsFj9nHaWgZzAtcMK8mYgc-RFuGZKg8LMYBAZljnOeQnICailzWQGuAABnaPICTy7vW6EsKNSzbTGiI7iY7-PV3ZjwQQrQCE6wlLgSmZNCZb1qRwiOuojJxicUh8xVT7hBUv3XAC-lrLGc9HWujC4dWEhW_M7i56nE3sUDZxHIZLc9RNrQ9J0-U6SH4rh2ZjES2iS8UPSeNQefTsTvlnTwYWTHzmA0l1kQ9hxJnAHHLexO-67_TFGdOz6iE6QE2yZKsDY2fJx7Cf-gNQpKbloHkkhGou372Ybdigtq5aaP9pRV2jDyhKykKufTqZv3ZkjOjoAZsawdA9ZOy_XCux0moLWkGEtG5VCWzrP5QIZfuBm35I1q-B1LsZMt7uprComMsx28gD945Q9vLqsHvrFX2gYIjreG1PbUbt9I8YFN_tm109l1foHinRWdwM5ja2F9ulOvIFDR-OL68_qa-PffjUwikOGFdj3RJPaWmx9fc4a8h130nf7Ixs_OsO7xmCzZwZnErQtQ4NzxsujzysQmRXBcM4fLZ238VGAmXgyewvNccoEziQ2Ej9I9R0zJRthM8E15lo3gLy4kzbbAyhtxawgU7KXTb1s4k1YD6buaEC9se-6fm8_Zd6ADn2fDikbOBmbuGNnDIORN4A0S9NR3uNT6tCh47kTlzpjz--nE284Sv2MwmjiODuKBg5U1g1bO32pil5rydT1qON6vZLtoNTttxhKBTwc7aQUDcOemrYFt2sKjQZOybXRr2IMNyVMke-0d4F0dwD5TvdFBnN7c-nll572GlVOP6gTq_j5CtRKfoPU_nFozW1rpfPnMKX_DwAA__9WpulH">