fallback: translate: call llvm.fabs.nxv4f32
| Run: | explore-04ca53e65f-20261014-114124 |
| Kind: | fallback |
| Category: | translate: call llvm.fabs.nxv4f32 |
| Occurrences: | 4 in 2 configs, 2 test files |
| Snippet from: | known-fpclass.ll @test_full_fabs_nan_vs_nan via llvm-extract |
| Config: | -mtriple=riscv64 -mattr=+v,+f,+d -target-abi=lp64d |
| Local check: | reproduces at 04ca53e65f |
| Compiler Explorer: | not uploaded (over --godbolt-limit or disabled) |
Snippet:
define <vscale x 4 x i1> @test_full_fabs_nan_vs_nan(<vscale x 4 x float> nofpclass(nan) %a) {
%abs = call <vscale x 4 x float> @llvm.fabs.nxv4f32(<vscale x 4 x float> %a)
%class = call <vscale x 4 x i1> @llvm.is.fpclass.nxv4f32(<vscale x 4 x float> %abs, /* (nan) */ i32 3)
ret <vscale x 4 x i1> %class
}
; Function Attrs: nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)
declare <vscale x 4 x float> @llvm.fabs.nxv4f32(<vscale x 4 x float>) #0
; Function Attrs: nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)
declare <vscale x 4 x i1> @llvm.is.fpclass.nxv4f32(<vscale x 4 x float>, i32 immarg) #0
attributes #0 = { nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }
Reproduce:
llc -mtriple=riscv64 -mattr=+v,+f,+d -target-abi=lp64d -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -mtriple=riscv64 -mattr=+v,+f,+d -target-abi=lp64d -global-isel=0 snippet.ll -o -
Local llc output:
remark: <unknown>:0:0: unable to translate instruction: call llvm.fabs.nxv4f32: ' %abs = call <vscale x 4 x float> @llvm.fabs.nxv4f32(<vscale x 4 x float> %a)' (in function: test_full_fabs_nan_vs_nan)
warning: Instruction selection used fallback path for test_full_fabs_nan_vs_nan
Occurrences (4):
| Input | Function | Config |
|---|
| combine-is_fpclass.ll | extract_scalable_fabs_isneg | -mtriple=riscv64 -mattr=+v,+f,+d |
| combine-is_fpclass.ll | insert_subvec_scalable_both_isneg_false | -mtriple=riscv64 -mattr=+v,+f,+d |
| known-fpclass.ll | test_full_fabs_nan_vs_nan | -mtriple=riscv64 -mattr=+v,+f,+d -target-abi=lp64d |
| combine-is_fpclass.4aec096e3d.ll (mutant of combine-is_fpclass.ll) | extract_scalable_fabs_isneg | -mtriple=riscv64 -mattr=+v,+f,+d |
Generated 2026-10-15 08:05 UTC.