Go to file
Pirama Arumuga Nainar 7476bc89e9 Don't combine fp_round (fp_round x) if f80 to f16 is generated
Summary:
This patch skips DAG combine of fp_round (fp_round x) if it results in
an fp_round from f80 to f16.

fp_round from f80 to f16 always generates an expensive (and as yet,
unimplemented) libcall to __truncxfhf2.  This prevents selection of
native f16 conversion instructions from f32 or f64.  Moreover, the first
(value-preserving) fp_round from f80 to either f32 or f64 may become a
NOP in platforms like x86.

Reviewers: ab

Subscribers: srhines, llvm-commits

Differential Revision: http://reviews.llvm.org/D17221

llvm-svn: 260769
2016-02-13 00:08:05 +00:00
clang [index] Add llvm/Support/DataTypes.h header to fix build failures in the bots. 2016-02-12 23:30:07 +00:00
clang-tools-extra [clang-tidy] Add check performance-faster-string-find 2016-02-12 19:28:14 +00:00
compiler-rt Fix MemorySanitizer.ptrtoint test on big-endian targets. 2016-02-12 22:00:22 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc configure: Remove llvm 3.6 defines 2016-02-09 22:17:48 +00:00
libcxx Instead of asking glibc to provide correct C++ signatures for <string.h> 2016-02-11 23:51:02 +00:00
libcxxabi [libcxxabi] Teach cxa_demangle about Hexagon's long double size 2016-01-20 14:10:23 +00:00
libunwind [AArch64] Fix libunwind build when using GNU assembler 2016-02-11 21:22:57 +00:00
lld ELF: Add wildcard pattern matching to SECTIONS linker script command. 2016-02-12 21:47:28 +00:00
lldb Removed many JIT workarounds from IRForTarget. 2016-02-13 00:01:46 +00:00
llgo [llgo] Force exporting __morestack from llgoi 2015-11-27 04:46:46 +00:00
llvm Don't combine fp_round (fp_round x) if f80 to f16 is generated 2016-02-13 00:08:05 +00:00
openmp [OMPT] Frame information for openmp taskwait 2016-02-12 12:19:59 +00:00
polly Separate invariant equivalence classes by type 2016-02-07 17:30:13 +00:00