CodeGen: soften f16 type by default instead of marking legal.
authorTim Northover <tnorthover@apple.com>
Fri, 18 Jul 2014 12:41:46 +0000 (12:41 +0000)
committerTim Northover <tnorthover@apple.com>
Fri, 18 Jul 2014 12:41:46 +0000 (12:41 +0000)
commit20bd0ced303d62bda805b5e5f9e86d6974425385
tree58371f40c2a05ceddd4b1141e04c26cdd845803d
parente48d9dc15e57ef51539c046473de3e05dd3e3c71
CodeGen: soften f16 type by default instead of marking legal.

Actual support for softening f16 operations is still limited, and can be added
when it's needed.  But Soften is much closer to being a useful thing to try
than keeping it Legal when no registers can actually hold such values.

Longer term, we probably want something between Soften and Promote semantics
for most targets, it'll be more efficient to promote the 4 basic operations to
f32 than libcall them.

llvm-svn: 213372
llvm/include/llvm/Target/TargetLowering.h
llvm/lib/CodeGen/TargetLoweringBase.cpp
llvm/test/CodeGen/AArch64/half.ll [new file with mode: 0644]
llvm/test/CodeGen/ARM/half.ll [new file with mode: 0644]
llvm/test/CodeGen/NVPTX/half.ll [new file with mode: 0644]
llvm/test/CodeGen/R600/half.ll [new file with mode: 0644]
llvm/test/CodeGen/X86/half.ll [new file with mode: 0644]