fallback: legalize: G_STORE <32 x s1>,p0
| Run: | explore-bc8218b282-20261015-075519 |
| Kind: | fallback |
| Category: | legalize: G_STORE <32 x s1>,p0 NEW |
| Occurrences: | 6 in 5 configs, 2 test files |
| Snippet from: | fastcc-float.f5eecf66cd.ll (mutant of fastcc-float.ll) @callee via llvm-extract |
| Config: | -mtriple=riscv32 -mattr=+f,+d -target-abi=ilp32 -verify-machineinstrs |
| Local check: | reproduces at bc8218b282 |
| Compiler Explorer: | not uploaded (over --godbolt-limit or disabled) |
Snippet:
@G.1 = external global <32 x float>
; Function Attrs: nounwind
define fastcc float @callee(<32 x float> %A) #0 {
%A4 = alloca i1, align 1
store i1 poison, ptr %A4, align 1
%A1 = alloca <32 x i1>, align 4
%L2 = load double, ptr %A1, align 8
%L = load double, ptr %A1, align 8
store <32 x i1> poison, ptr %A1, align 4
%LGV = load <32 x float>, ptr @G.1, align 128
%C = fcmp uge <32 x float> %A, %LGV
%B = extractelement <32 x float> %A, i32 0
store <32 x i1> %C, ptr %A1, align 4
%C3 = fcmp ugt double %L, %L2
store i1 %C3, ptr %A4, align 1
ret float %B
}
attributes #0 = { nounwind }
Reproduce:
llc -mtriple=riscv32 -mattr=+f,+d -target-abi=ilp32 -verify-machineinstrs -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -mtriple=riscv32 -mattr=+f,+d -target-abi=ilp32 -verify-machineinstrs -global-isel=0 snippet.ll -o -
Local llc output:
remark: <unknown>:0:0: unable to legalize instruction: G_STORE %53:_(<32 x s1>), %47:_(p0) :: (store (<32 x s1>) into %ir.A1) (in function: callee)
warning: Instruction selection used fallback path for callee
Occurrences (6):
| Input | Function | Config |
|---|
| fastcc-float.0ebc389fa5.ll (mutant of fastcc-float.ll) | caller | -mtriple=riscv32 -mattr=+f,+d -target-abi=ilp32 -verify-machineinstrs |
| fastcc-float.f5eecf66cd.ll (mutant of fastcc-float.ll) | callee | -mtriple=riscv32 -mattr=+f,+d -target-abi=ilp32 -verify-machineinstrs |
| fastcc-without-f-reg.1b6b6aa46d.ll (mutant of fastcc-without-f-reg.ll) | caller_float_32 | -mtriple=riscv64 -mattr=+zdinx -verify-machineinstrs |
| fastcc-without-f-reg.24469fd208.ll (mutant of fastcc-without-f-reg.ll) | caller_float_32 | -mtriple=riscv32 -mattr=+zfinx -verify-machineinstrs |
| fastcc-without-f-reg.33b41928e2.ll (mutant of fastcc-without-f-reg.ll) | caller_float_32 | -mtriple=riscv32 -mattr=+zdinx -verify-machineinstrs |
| fastcc-without-f-reg.a2fd847557.ll (mutant of fastcc-without-f-reg.ll) | caller_float_32 | -mtriple=riscv64 -mattr=+zfinx -verify-machineinstrs |
Generated 2026-10-15 08:05 UTC.