fallback: translate: call llvm.fabs.nxv8f32
| Run: | main-bc8218b282-20261015-074651 |
| Kind: | fallback |
| Category: | translate: call llvm.fabs.nxv8f32 |
| Occurrences: | 1 in 1 configs, 1 test files |
| Snippet from: | combine-is_fpclass.ll @extract_subvec_scalable_isneg_false via llvm-extract |
| Config: | -mtriple=riscv64 -mattr=+v,+f,+d |
| Local check: | reproduces at bc8218b282 |
| Compiler Explorer: | not uploaded (over --godbolt-limit or disabled) |
Snippet:
define <vscale x 4 x i1> @extract_subvec_scalable_isneg_false(<vscale x 8 x float> %a0) {
%abs = call <vscale x 8 x float> @llvm.fabs.nxv8f32(<vscale x 8 x float> %a0)
%sub = call <vscale x 4 x float> @llvm.vector.extract.nxv4f32.nxv8f32(<vscale x 8 x float> %abs, i64 0)
%res = call <vscale x 4 x i1> @llvm.is.fpclass.nxv4f32(<vscale x 4 x float> %sub, /* (ninf nzero nsub nnorm) */ i32 60)
ret <vscale x 4 x i1> %res
}
; Function Attrs: nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)
declare <vscale x 8 x float> @llvm.fabs.nxv8f32(<vscale x 8 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
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <vscale x 4 x float> @llvm.vector.extract.nxv4f32.nxv8f32(<vscale x 8 x float>, i64 immarg) #1
attributes #0 = { nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }
attributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
Reproduce:
llc -mtriple=riscv64 -mattr=+v,+f,+d -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -mtriple=riscv64 -mattr=+v,+f,+d -global-isel=0 snippet.ll -o -
Local llc output:
remark: <unknown>:0:0: unable to translate instruction: call llvm.fabs.nxv8f32: ' %abs = call <vscale x 8 x float> @llvm.fabs.nxv8f32(<vscale x 8 x float> %a0)' (in function: extract_subvec_scalable_isneg_false)
warning: Instruction selection used fallback path for extract_subvec_scalable_isneg_false
Occurrences (1):
| Input | Function | Config |
|---|
| combine-is_fpclass.ll | extract_subvec_scalable_isneg_false | -mtriple=riscv64 -mattr=+v,+f,+d |
Generated 2026-10-15 08:05 UTC.