[ARM] Legalizer crash on `llvm.{minimum, maximum}.v2f64` if `mve` is enabled
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
## Reproducer
https://godbolt.org/z/1x68Ybo1z
```ll
define<2 x double> @f(<2 x double> %a, <2 x double> %b) {
%m = call <2 x double> @llvm.maximum.v2f64(<2 x double> %a, <2 x double> %b)
ret <2 x double> %m
}
```
## Command
```
llc -mtriple=thumbv8m.main-none-eabihf -mcpu=cortex-m55 maximum.ll
llc -mtriple=thumbv8m.main-none-eabihf -mcpu=cortex-m55 maximum.ll -mattr=-mve
```
## Note
The first command will hang if assertion is disabled.
`v4f32` works without crash or hang.
Contributor guide
Research direction
Start with the LLVM IR reproducer in the issue or maximum.ll and run the two provided llc commands for thumbv8m.main with and without mve. Compare the v2f64 maximum behavior with the working v4f32 case. Done means the mve-enabled command no longer crashes or hangs while producing output.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100