[PATCH] [CodeGen] Properly support the half FP type with non-native operations (-fallow-half-args-and-returns)

Ahmed Bougacha ahmed.bougacha at gmail.com
Tue Mar 24 17:03:10 PDT 2015


Hi Oliver,

Noticed this after committing:  ACLE says we should define
__ARM_FP16_ARGS if -fallow-half-args-and-returns is enabled, but I
don't think we do (I'll submit a patch).

However,  should we disable -fallow-half-arguments-and-returns by
default?  Using "half" rather than "i16" works a bit better after the
previous round of commits, and after this one, but is still
problematic.  As Tim remarked the first time around, optimizations can
create code using "half", and we're still far from supporting that.
For instance, the fp16-ops testcase currently breaks the AArch64
backend with -O3.

I ask about the macro because given that we never defined it yet,
there are no "legal" users of the -fallow-half-arguments-and-returns
feature out there, which makes it fine to change this.

I'm working on better f16 legalization in LLVM, but in the meantime
the current situation doesn't bring us anything, I think.

Thoughts welcome!

-Ahmed


On Mon, Mar 23, 2015 at 9:59 AM, Oliver Stannard
<oliver.stannard at arm.com> wrote:
> Thanks, LGTM.
>
>
> http://reviews.llvm.org/D8367
>
> EMAIL PREFERENCES
>   http://reviews.llvm.org/settings/panel/emailpreferences/
>
>



More information about the cfe-commits mailing list