fallback: legalize: G_FSUB s128
| Run: | explore-04ca53e65f-20261014-114124 |
| Kind: | fallback |
| Category: | legalize: G_FSUB s128 |
| Occurrences: | 5 in 2 configs, 3 test files |
| Snippet from: | musttail-indirect-args.ll @caller_musttail_both_computed via llvm-extract |
| Config: | -mtriple=riscv32 |
| Local check: | reproduces at 04ca53e65f |
| Compiler Explorer: | not uploaded (over --godbolt-limit or disabled) |
Snippet:
declare i32 @callee_musttail_two_indirect(fp128, fp128)
; Function Attrs: nounwind
define i32 @caller_musttail_both_computed(fp128 %a, fp128 %b) #0 {
%sum = fadd fp128 %a, %b
%diff = fsub fp128 %a, %b
%r = musttail call i32 @callee_musttail_two_indirect(fp128 %sum, fp128 %diff)
ret i32 %r
}
attributes #0 = { nounwind }
Reproduce:
llc -mtriple=riscv32 -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -mtriple=riscv32 -global-isel=0 snippet.ll -o -
Local llc output:
remark: <unknown>:0:0: unable to legalize instruction: %5:_(s128) = G_FSUB %0:_, %1:_ (in function: caller_musttail_both_computed)
warning: Instruction selection used fallback path for caller_musttail_both_computed
Occurrences (5):
| Input | Function | Config |
|---|
| musttail-indirect-args.ll | caller_musttail_both_computed | -mtriple=riscv32 |
| fp128.d9ee734025.ll (mutant of fp128.ll) | lround_f128 | -mtriple=riscv32 -verify-machineinstrs |
| lrint-conv.fbc23b4554.ll (mutant of lrint-conv.ll) | test_lrint_ixx_f128 | -mtriple=riscv32 |
| lrint-conv.fbc23b4554.ll (mutant of lrint-conv.ll) | test_lrint_ixx_f128 | -mtriple=riscv32 |
| musttail-indirect-args.5b9ce406be.ll (mutant of musttail-indirect-args.ll) | caller_musttail_both_computed | -mtriple=riscv32 |
Generated 2026-10-15 08:05 UTC.