llvm-6502/test
Andrea Di Biagio bd1729e5d4 [X86][FastIsel] Avoid introducing legacy SSE instructions if the target has AVX.
This patch teaches X86FastISel how to select AVX instructions for scalar
float/double convert operations.

Before this patch, X86FastISel always selected legacy SSE instructions
for FPExt (from float to double) and FPTrunc (from double to float).

For example:
\code
  define double @foo(float %f) {
    %conv = fpext float %f to double
    ret double %conv
  }
\end code

Before (with -mattr=+avx -fast-isel) X86FastIsel selected a CVTSS2SDrr which is
legacy SSE:
  cvtss2sd %xmm0, %xmm0

With this patch, X86FastIsel selects a VCVTSS2SDrr instead:
  vcvtss2sd %xmm0, %xmm0, %xmm0

Added test fast-isel-fptrunc-fpext.ll to check both the register-register and
the register-memory float/double conversion variants.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228682 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-10 12:04:41 +00:00
..
Analysis MemDerefPrinter: Require DataLayoutPass for higher accuracy 2015-02-09 21:50:03 +00:00
Assembler IR: Allow 32-bits for lines in debug location 2015-02-06 22:50:13 +00:00
Bindings [OCaml] Add Llvm.build_empty_phi. 2015-02-06 13:42:03 +00:00
Bitcode Check bit widths before trying to get a type. 2015-01-30 18:13:50 +00:00
BugPoint
CodeGen [X86][FastIsel] Avoid introducing legacy SSE instructions if the target has AVX. 2015-02-10 12:04:41 +00:00
DebugInfo Debug info: When updating debug info during SROA, do not emit debug info 2015-02-09 23:57:22 +00:00
ExecutionEngine [Orc] Make OrcMCJITReplacement::addObject calls transfer buffer ownership to the 2015-02-02 19:51:18 +00:00
Feature
FileCheck
Instrumentation [msan] Fix "missing origin" in atomic store. 2015-02-06 21:47:39 +00:00
Integer
JitListener
Linker Utils: Resolve cycles under distinct MDNodes 2015-02-04 19:44:34 +00:00
LTO Introduce llvm/test/LTO/X86. LTO tests may be assumed as target-specific. 2015-01-30 10:09:26 +00:00
MC This change implements the following three logical vector operations: 2015-02-09 17:03:18 +00:00
Object
Other [PM] Teach the module-to-function adaptor to not run function passes 2015-02-01 10:47:25 +00:00
SymbolRewriter
TableGen
tools Add code to llvm-objdump so the -section option with -macho will dump literal 2015-02-06 23:25:38 +00:00
Transforms Revert r228556: InstCombine: propagate nonNull through assume 2015-02-10 08:07:32 +00:00
Unit
Verifier Fix statepoint verifier tests to actually test verifier. 2015-01-30 23:18:42 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg Remove a gross usage of environment variables in MachineVerifier, replacing it with support for setting the -verify-machineinstrs flag via an environment variable in LIT. 2015-02-04 00:02:59 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh