[PATCH] D90175: [AArch64] Support conversion between fp16 and fp128
Oliver Stannard (Linaro) via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 18 01:47:51 PST 2020
ostannard added a comment.
> They are enabled iff the compiler supports _Float16.
Why are these not enabled for compilers which don't support _Float16? There is also the __fp16 type, which has been supported for much longer and could also generate code like this.
> It also adjust the extendhfsf2, truncdfhf2 __truncsfhf2 to use _Float16 when compiler supports it.
This would be better (easier to review, bisect, etc) if split into a separate patch.
> On AArch64 it allows use the native FP16 ABI,.
Why is changing the ABI of these functions (including the existing 16<->32 and 16<->64 bit ones) OK? Wouldn't this cause problems if linking clang-compiled code against libgcc? I also don't see any changes to tell the compiler that the ABI has changed.
> while on other architectures the expected current semantic is preserved (arm for instance).
Are you sure about this? ARM has a hard-float ABI which passes fp16 values in FP registers, and I'd expect some other architectures to have different calling conventions for uint16_t vs _Float16.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D90175/new/
https://reviews.llvm.org/D90175
More information about the llvm-commits
mailing list