fallback: translate: fpext bfloat

Run:explore-04ca53e65f-20261014-114124
Kind:fallback
Category:translate: fpext bfloat
Occurrences:22 in 6 configs, 2 test files
Snippet from:bf16-promote.ll @test_fpextend_float via llvm-extract
Config:-mtriple=riscv32 -mattr=+d -target-abi=ilp32d
Local check:reproduces at 04ca53e65f
Compiler Explorer:not uploaded (over --godbolt-limit or disabled)

Snippet:

; Function Attrs: nounwind
define float @test_fpextend_float(ptr %p) #0 {
  %a = load bfloat, ptr %p, align 2
  %r = fpext bfloat %a to float
  ret float %r
}

attributes #0 = { nounwind }

Reproduce:

llc -mtriple=riscv32 -mattr=+d -target-abi=ilp32d -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -mtriple=riscv32 -mattr=+d -target-abi=ilp32d -global-isel=0 snippet.ll -o -

Local llc output:

remark: <unknown>:0:0: unable to translate instruction: fpext: '  %r = fpext bfloat %a to float' (in function: test_fpextend_float)
warning: Instruction selection used fallback path for test_fpextend_float

Occurrences (22):

InputFunctionConfig
bf16-promote.lltest_fpextend_float-mtriple=riscv32 -mattr=+d -target-abi=ilp32d
bf16-promote.lltest_fpextend_double-mtriple=riscv32 -mattr=+d -target-abi=ilp32d
bf16-promote.lltest_fpextend_float-mtriple=riscv64 -mattr=+d -target-abi=lp64d
bf16-promote.lltest_fpextend_double-mtriple=riscv64 -mattr=+d -target-abi=lp64d
xandesbfhcvt.llloadstorebf16-mtriple=riscv32 -mattr=+xandesbfhcvt -target-abi ilp32f -verify-machineinstrs
xandesbfhcvt.llloadstorebf16-mtriple=riscv32 -mattr=+zfh,+xandesbfhcvt -target-abi ilp32f -verify-machineinstrs
xandesbfhcvt.llloadstorebf16-mtriple=riscv64 -mattr=+xandesbfhcvt -target-abi lp64f -verify-machineinstrs
xandesbfhcvt.llloadstorebf16-mtriple=riscv64 -mattr=+zfh,+xandesbfhcvt -target-abi lp64f -verify-machineinstrs
bf16-promote.3bd53bac9d.ll (mutant of bf16-promote.ll)test_fpextend_float-mtriple=riscv64 -mattr=+d -target-abi=lp64d
bf16-promote.3bd53bac9d.ll (mutant of bf16-promote.ll)test_fpextend_double-mtriple=riscv64 -mattr=+d -target-abi=lp64d
bf16-promote.ba1a605c60.ll (mutant of bf16-promote.ll)test_fpextend_double-mtriple=riscv32 -mattr=+d -target-abi=ilp32d
bf16-promote.c5e332c49e.ll (mutant of bf16-promote.ll)test_fpextend_float-mtriple=riscv32 -mattr=+d -target-abi=ilp32d
bf16-promote.c5e332c49e.ll (mutant of bf16-promote.ll)test_fpextend_double-mtriple=riscv32 -mattr=+d -target-abi=ilp32d
bf16-promote.d0ff33792a.ll (mutant of bf16-promote.ll)test_fpextend_double-mtriple=riscv64 -mattr=+d -target-abi=lp64d
xandesbfhcvt.306b20264d.ll (mutant of xandesbfhcvt.ll)loadstorebf16-mtriple=riscv64 -mattr=+xandesbfhcvt -target-abi lp64f -verify-machineinstrs
xandesbfhcvt.4207a06657.ll (mutant of xandesbfhcvt.ll)loadstorebf16-mtriple=riscv64 -mattr=+zfh,+xandesbfhcvt -target-abi lp64f -verify-machineinstrs
xandesbfhcvt.586b33e8fa.ll (mutant of xandesbfhcvt.ll)loadstorebf16-mtriple=riscv32 -mattr=+zfh,+xandesbfhcvt -target-abi ilp32f -verify-machineinstrs
xandesbfhcvt.9382953bb2.ll (mutant of xandesbfhcvt.ll)loadstorebf16-mtriple=riscv64 -mattr=+zfh,+xandesbfhcvt -target-abi lp64f -verify-machineinstrs
xandesbfhcvt.a7a3a425ec.ll (mutant of xandesbfhcvt.ll)loadstorebf16-mtriple=riscv32 -mattr=+xandesbfhcvt -target-abi ilp32f -verify-machineinstrs
xandesbfhcvt.c796a8d9a8.ll (mutant of xandesbfhcvt.ll)loadstorebf16-mtriple=riscv32 -mattr=+xandesbfhcvt -target-abi ilp32f -verify-machineinstrs
xandesbfhcvt.eeb4c81e3e.ll (mutant of xandesbfhcvt.ll)loadstorebf16-mtriple=riscv64 -mattr=+xandesbfhcvt -target-abi lp64f -verify-machineinstrs
xandesbfhcvt.f2318a97d9.ll (mutant of xandesbfhcvt.ll)loadstorebf16-mtriple=riscv32 -mattr=+zfh,+xandesbfhcvt -target-abi ilp32f -verify-machineinstrs

Generated 2026-10-15 08:05 UTC.