llvm-6502/test
Adam Nemet 8c8fe42a0d [VectorLegalizer/X86] Don't unvectorize fp_to_uint for v8f32->v8i16
Rather than LegalizeAction::Expand, this needs LegalizeAction::Promote to get
promoted to fp_to_sint v8f32->v8i32.  This is a legal operation on AVX.

For that to work properly, we also need to teach the legalizer about the
specific promotion required here.  The default vector promotion uses
bitcasting to a vector type of the same total size.  We want to promote the
vector element type, effectively widening the operation and then truncating
the result.  This is analogous to the current logic of how int_to_fp is
promoted.

The change also factors out some code from the int_to_fp promotion code to
ValueType::widenIntegerVectorElementType.  This is now shared between
int_to_fp and fp_to_int.

There is no longer need for the custom lowering of fp_to_sint f32->v8i16 in
X86.  It can now go through the new target-independent fp_to_*int promotion
logic.

I also checked that no other target uses Promote for these ops yet, so there
shouldn't be any unexpected change in behavior.

Fixes <rdar://problem/16202247>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204058 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-17 17:06:14 +00:00
..
Analysis Reject alias to undefined symbols in the verifier. 2014-03-12 20:15:49 +00:00
Assembler Reject alias to undefined symbols in the verifier. 2014-03-12 20:15:49 +00:00
Bindings Fix the ocaml test to not create a alias to a declaration. 2014-03-12 21:20:42 +00:00
Bitcode Remove the linker_private and linker_private_weak linkages. 2014-03-13 23:18:37 +00:00
BugPoint llvm/test/BugPoint/compile-custom.ll.py: Make it py3-compatible. [PR19112] 2014-03-13 00:10:37 +00:00
CodeGen [VectorLegalizer/X86] Don't unvectorize fp_to_uint for v8f32->v8i16 2014-03-17 17:06:14 +00:00
DebugInfo Use a fixed subtarget for test so atom scheduling can't change the addresses this test relies on. 2014-03-15 23:01:29 +00:00
ExecutionEngine
Feature Remove the linker_private and linker_private_weak linkages. 2014-03-13 23:18:37 +00:00
FileCheck
Instrumentation AddressSanitizer instrumentation for MOV and MOVAPS. 2014-03-14 08:58:04 +00:00
Integer
JitListener
Linker Debug info: Unique types before emitting them to DWARF, where applicable. 2014-03-14 23:08:29 +00:00
LTO Module: Don't rename in getOrInsertFunction() 2014-03-10 23:42:28 +00:00
MC llvm/test/MC/MachO/gen-dwarf-cpp.s: Relax an expression to match DOS pat. 2014-03-17 05:31:54 +00:00
Object [yaml2obj][ELF] Assign name (.shstrtab) to the section holds sections names. 2014-03-14 06:53:16 +00:00
Other
TableGen
tools llvm-readobj: Print referred symbol name for CLR token definition 2014-03-17 01:46:52 +00:00
Transforms llvm/test/Transforms/SampleProfile/syntax.ll: Suppress checking the message catalog in ENOENT. It is locale-dependent on Windows. 2014-03-15 02:32:21 +00:00
Unit
Verifier Reject alias to undefined symbols in the verifier. 2014-03-12 20:15:49 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh