Closed Benjins closed 2 years ago
@llvm/issue-subscribers-backend-aarch64
Thanks for the report, it seemed to be an incorrect assumption in tryCombineFixedPointConvert, so I fixed it above. Let us know if/when you find any more.
Yup, seems to be fixed now. Thanks!
Using ARM Neon intrinsics in a certain pattern causes the compiler backend to crash on an invalid dag, and in debug mode causes an assertion earlier in the process
Reduced original C++ that triggered the issue when compiled with clang on armv8 and -O1: (Godbolt link: https://godbolt.org/z/MEvPj1EWf )
which in a Release build gives:
Full error log
this can be reduced to the following IR: (Godbolt link: https://godbolt.org/z/dGG6474P4 )
The error about the vcvtfxs2fp intrinsic seems to be a downstream issue, since running llc in Debug mode gives the following assertion:
at
The DAG at that point:
which does initially appear to be invalid due to extract_vector_elt's args being only 64-bit
I have verified that this still repros on the latest trunk (b1aed14bfea07508e4b9d864168c1ae6b5b5c665)
For context: this code was produced by a fuzzer to test codegen, it was not manually written