llvm-6502/test
Michael Liao a03c44117b Introduce 'UseSSEx' to force SSE legacy encoding
- Add 'UseSSEx' to force SSE legacy insn not being selected when AVX is
  enabled.

  As the penalty of inter-mixing SSE and AVX instructions, we need
  prevent SSE legacy insn from being generated except explicitly
  specified through some intrinsics. For patterns supported by both
  SSE and AVX, so far, we force AVX insn will be tried first relying on
  AddedComplexity or position in td file. It's error-prone and
  introduces bugs accidentally.

  'UseSSEx' is disabled when AVX is turned on. For SSE insns inherited
  by AVX, we need this predicate to force VEX encoding or SSE legacy
  encoding only.

  For insns not inherited by AVX, we still use the previous predicates,
  i.e. 'HasSSEx'. So far, these insns fall into the following
  categories:
  * SSE insns with MMX operands
  * SSE insns with GPR/MEM operands only (xFENCE, PREFETCH, CLFLUSH,
    CRC, and etc.)
  * SSE4A insns.
  * MMX insns.
  * x87 insns added by SSE.

2 test cases are modified:

 - test/CodeGen/X86/fast-isel-x86-64.ll
   AVX code generation is different from SSE one. 'vcvtsi2sdq' cannot be
   selected by fast-isel due to complicated pattern and fast-isel
   fallback to materialize it from constant pool.

 - test/CodeGen/X86/widen_load-1.ll
   AVX code generation is different from SSE one after fixing SSE/AVX
   inter-mixing. Exec-domain fixing prefers 'vmovapd' instead of
   'vmovaps'.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162919 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-30 16:54:46 +00:00
..
Analysis llvm/test/Analysis/Profiling: Mark 3 of them as REQUIRES: loadable_module. 2012-08-29 00:37:46 +00:00
Archive
Assembler
Bindings/Ocaml
Bitcode
BugPoint
CodeGen Introduce 'UseSSEx' to force SSE legacy encoding 2012-08-30 16:54:46 +00:00
DebugInfo Add basic support for .debug_ranges section to LLVM's DebugInfo library. 2012-08-27 07:17:47 +00:00
ExecutionEngine Should put test case under test/ExecutionEngine/MCJIT/ 2012-08-30 00:43:57 +00:00
Feature Change the linker_private_weak_def_auto' linkage to linkonce_odr_auto_hide' to 2012-08-17 18:33:14 +00:00
Instrumentation [asan] add code to detect global initialization fiasco in C/C++. The sub-pass is off by default for now. Patch by Reid Watson. Note: this patch changes the interface between LLVM and compiler-rt parts of asan. The corresponding patch to compiler-rt will follow. 2012-08-21 08:24:25 +00:00
Integer
Linker
MC The instruction DEXT may be transformed into DEXTU or DEXTM depending 2012-08-28 20:07:41 +00:00
Object Create llvm/test/Object/Mips/lit.local.cfg to check Mips in targets_to_build. 2012-08-29 01:37:57 +00:00
Other
Scripts
TableGen
Transforms Fix test case. 2012-08-30 15:42:45 +00:00
Unit
Verifier Assert that dominates is not given a multiple edge. Finding out if we have 2012-08-17 18:21:28 +00:00
YAMLParser
CMakeLists.txt llvm/test: [CMake] Add profile_rt-shared to deps. 2012-08-29 00:37:56 +00:00
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh