fallback: legalize: G_SHL <4 x s32>
| Run: | explore-bc8218b282-20261015-075519 |
| Kind: | fallback |
| Category: | legalize: G_SHL <4 x s32> NEW |
| Occurrences: | 4 in 4 configs, 1 test files |
| Snippet from: | tail-calls.1490228344.ll (mutant of tail-calls.ll) @caller_weak via llvm-extract |
| Config: | -code-model=large -mtriple=riscv32 -verify-machineinstrs |
| Local check: | reproduces at bc8218b282 |
| Compiler Explorer: | not uploaded (over --godbolt-limit or disabled) |
Snippet:
@G = external global <4 x i32>
@G.1 = external global <4 x i32>
declare extern_weak void @callee_weak()
; Function Attrs: nounwind
define void @caller_weak() #0 {
entry:
%LGV1 = load <4 x i32>, ptr @G.1, align 16
%LGV = load <4 x i32>, ptr @G, align 16
tail call void @callee_weak()
%B = shl <4 x i32> %LGV, %LGV1
store <4 x i32> %B, ptr @G, align 16
ret void
}
attributes #0 = { nounwind }
!llvm.module.flags = !{!0}
!0 = !{i32 1, !"ProfileSummary", !1}
!1 = !{!2, !3, !4, !5, !6, !7, !8, !9}
!2 = !{!"ProfileFormat", !"InstrProf"}
!3 = !{!"TotalCount", i64 10000}
!4 = !{!"MaxCount", i64 10}
!5 = !{!"MaxInternalCount", i64 1}
!6 = !{!"MaxFunctionCount", i64 1000}
!7 = !{!"NumCounts", i64 3}
!8 = !{!"NumFunctions", i64 3}
!9 = !{!"DetailedSummary", !10}
!10 = !{!11, !12, !13}
!11 = !{i32 10000, i64 100, i32 1}
!12 = !{i32 999000, i64 100, i32 1}
!13 = !{i32 999999, i64 1, i32 2}
Reproduce:
llc -code-model=large -mtriple=riscv32 -verify-machineinstrs -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -code-model=large -mtriple=riscv32 -verify-machineinstrs -global-isel=0 snippet.ll -o -
Local llc output:
remark: <unknown>:0:0: unable to legalize instruction: %4:_(<4 x s32>) = G_SHL %2:_, %0:_(<4 x s32>) (in function: caller_weak)
warning: Instruction selection used fallback path for caller_weak
Occurrences (4):
| Input | Function | Config |
|---|
| tail-calls.1490228344.ll (mutant of tail-calls.ll) | caller_weak | -code-model=large -mtriple=riscv32 -verify-machineinstrs |
| tail-calls.6158ee23bb.ll (mutant of tail-calls.ll) | caller_weak | -mtriple=riscv32 -verify-machineinstrs |
| tail-calls.a75e95f560.ll (mutant of tail-calls.ll) | caller_weak | -code-model=large -mtriple=riscv64 -verify-machineinstrs |
| tail-calls.b2851c9829.ll (mutant of tail-calls.ll) | caller_weak | -mtriple=riscv64 -verify-machineinstrs |
Generated 2026-10-15 08:05 UTC.