Bug 2368616
| Summary: | simde mul_lane tests broken after clang-20.1.x upgrade on aarch64 | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Dominik 'Rathann' Mierzejewski <dominik> |
| Component: | llvm | Assignee: | Tom Stellard <tstellar> |
| Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | dmalcolm, fedora-llvm-team, jakub, jchecahi, jistone, kkleine, npopov, scottt.tw, sergesanspaille, siddharth.kde, suraj.ghimire7, tbaeder, tstellar, tuliom |
| Target Milestone: | --- | Flags: | npopov:
mirror+
|
| Target Release: | --- | ||
| Hardware: | aarch64 | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | --- | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2025-06-02 14:11:10 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 2368384 | ||
|
Description
Dominik 'Rathann' Mierzejewski
2025-05-26 16:21:27 UTC
Still reproduces when using clang 20.1.5. I'll take a look at this one. I looked into this a bit yesterday and extracted this standalone reproducer: https://gist.github.com/nikic/08992eee1acb69d84cc75682ffe7ae4f The issue requires ThinLTO to reproduce and opt-bisect points to LoopFullUnroll, but that's most likely a red herring. @npopov I've bisected it to https://github.com/llvm/llvm-project/commit/fe182ddf1f3daf55a86bbabeff40dda109bbbe91 This is a bug in simde. https://github.com/simd-everywhere/simde/blob/51743e7920b6e867678cb50e9c62effe28f70b33/simde/arm/neon/mul_lane.h#L389 (and various other places) performs C signed integer multiplication, which is UB on overflow. These intrinsics are not supposed to have UB on overflow. The issue was exposed because the loop was unrolled and all the constants were propagated. I confirmed that adding (unsigned) casts to the code fixes the issue. Filed upstream issue: https://github.com/simd-everywhere/simde/issues/1295 *** Bug 2368547 has been marked as a duplicate of this bug. *** |