Simon Pilgrim
1cdbfe44b1
[DAGCombiner] Add ComputeNumSignBits vector demanded elements support to ASHR and INSERT_VECTOR_ELT
...
Followup to D31311
llvm-svn: 299221
2017-03-31 14:21:50 +00:00
Simon Pilgrim
c3e5c3c5bc
[X86][SSE] Add extra computeNumSignBits test case for D31311.
...
llvm-svn: 298774
2017-03-25 15:43:36 +00:00
Simon Pilgrim
1c048ab6ba
[X86][SSE] Extract elements from narrower shuffle masks.
...
Add support for widening narrow shuffle masks so we can directly extract from the relevant input vector of the shuffle.
llvm-svn: 298616
2017-03-23 16:09:34 +00:00
Simon Pilgrim
d341290b5c
[X86][SSE] Add computeNumSignBits test for sitofp of (extended) i64 extracted element
...
llvm-svn: 298592
2017-03-23 13:18:09 +00:00
Simon Pilgrim
128a10a41d
[X86][SSE] Fix load folding for (V)CVTDQ2PD
...
This only requires a 64-bit memory source, not the whole 128-bits. But the 128-bit case is still supported via X86InstrInfo::foldMemoryOperandImpl
llvm-svn: 297523
2017-03-10 22:35:07 +00:00
Simon Pilgrim
7dedbfa89d
[SelectionDAG] Add support for BUILD_VECTOR to ComputeNumSignBits
...
llvm-svn: 297492
2017-03-10 18:36:46 +00:00
Simon Pilgrim
e54cd65399
[X86][SSE] Added tests showing missed truncations for sitofp conversion
...
SelectionDAG::ComputeNumSignBits is poor at build_vector handling, meaning that we can't see that all the vXi64 sources are in fact sign extended i32 or smaller.
llvm-svn: 297486
2017-03-10 18:01:53 +00:00