hliao added inline comments.
================ Comment at: clang/lib/CodeGen/TargetInfo.cpp:2821 + } else if (k == BuiltinType::Float16 || k == BuiltinType::Half) { + // AMD64 does not support operations on _Float16 or __fp16 other than + // load and store. For load/store operations, _Float16 and __fp16 is ---------------- hliao wrote: > pengfei wrote: > > This is still not correct I think. As Clang dos says, _Float16 is not > > support (including load and store) unless ABI defines it. > > We cannot add it before there's clear definition in the ABI. > > See https://github.com/hjl-tools/x86-psABI/wiki/x86-64-psABI-1.0.pdf > That's quite outdated spec. Please check the latest one from > https://gitlab.com/x86-psABIs/x86-64-ABI, which classify _Float16 as SSE. > That's quite outdated spec. Please check the latest one from > https://gitlab.com/x86-psABIs/x86-64-ABI, which classify _Float16 as SSE. From the log commit 71d1183e7bb95e9f8ad732e0f2b5a4f127796e2a (origin/usr/hjl/_Float16) Author: H.J. Lu <hjl.to...@gmail.com> Date: Wed Feb 20 05:45:39 2019 -0800 Add optional _Float16 support Pass and return _Float16 values in XMM registers. diff --git a/x86-64-ABI/low-level-sys-info.tex b/x86-64-ABI/low-level-sys-info.tex index ca84fff..0b06c56 100644 --- a/x86-64-ABI/low-level-sys-info.tex +++ b/x86-64-ABI/low-level-sys-info.tex @@ -25,7 +25,8 @@ object, and the term \emph{\textindex{\sixteenbyte{}}} refers to a \subsubsection{Fundamental Types} Figure~\ref{basic-types} shows the correspondence between ISO C's -scalar types and the processor's. \code{__int128}, \code{__float80}, +scalar types and the processor's. \code{__int128}, \code{_Float16}, +\code{__float80}, \code{__float128}, \code{__m64}, \code{__m128}, \code{__m256} and \code{__m512} types are optional. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D97318/new/ https://reviews.llvm.org/D97318 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits