`fp128` seems to work fine in arguments and return values, but trying to do computations like `fmul` or `fdiv` fails: ```llvm target triple = "amdgcn-amd-amdhsa" define fp128 @fp128(fp128 %a, fp128 %b) { %res = fmul fp128 %a, %b ret fp128 %res } ``` results in ``` LLVM ERROR: unsupported libcall legalization Stack dump: … #10 llvm::SITargetLowering::LowerCall(llvm::TargetLowering::CallLoweringInfo&, llvm::SmallVectorImpl<llvm::SDValue>&) const llvm-project/llvm/lib/Target/AMDGPU/SIISelLowering.cpp:3877:34 ``` I assume this is expected. I encountered this while trying to compile Rust code, see also https://github.com/rust-lang/compiler-builtins/pull/737.