>> Anyway, I checked what cuda does for HF, and it passes a byte array: >>> .param .align 2 .b8 _Z5helloPj6__halfs_param_1[2], ... > > > > The one precedent that I can point to is that LLVM's nvptx backend passes > > HFmode values in SImode regs, see https://reviews.llvm.org/D28540 > > Interesting, thanks for the link.
In theory, GCC could also support -mfloat-abi=nvcc and -mfloat-abi=llvm (much like other targets have -mfloat-abi=soft vs. -mfloat-abi=hard). At this point getting any ABI supporting HFmode would be an improvement. Roger --