t.p.northover added inline comments.
================
Comment at: include/clang/Basic/TargetInfo.h:365
+ /// \brief Determine whether _Float16 is supported on this target.
+ virtual bool hasFloat16Type() const { return HasFloat16; }
----------------
`_Float16` doesn't seem to be supported anywhere in Clang (`__fp16` is).
But we should probably clarify exactly what kind of support we mean here. This
variable doesn't affect:
* Whether __fp16 can be used at all in source.
* Its ABI.
I'm actually slightly worried that when we document what it does affect it'll
end up being an ARM implementation-detail.
================
Comment at: lib/Basic/Targets/ARM.cpp:382
HWDiv = 0;
- HasFullFP16 = 0;
+ HasFloat16 = 0;
----------------
This is now a bool rather than a bitfield, so `false` is definitely the best
initializer (probably was before, too, but whatever).
================
Comment at: lib/CodeGen/CGBuiltin.cpp:3456
case NeonTypeFlags::Float16:
- // FIXME: Only AArch64 backend can so far properly handle half types.
- // Remove else part once ARM backend support for half is complete.
- if (Arch == llvm::Triple::aarch64)
+ if (Arch == llvm::Triple::aarch64 || Arch == llvm::Triple::aarch64_be ||
+ HasFloat16)
----------------
This check is equivalent to setting `HasFloat16` in `AArch64TargetInfo` at the
moment. Are you intending to change that (say by adding more uses of
`HasFloat16`)?
https://reviews.llvm.org/D44561
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits