Elena Demikhovsky
0b79be8ab2
AVX-512: optimized icmp -> sext -> icmp pattern
...
llvm-svn: 200849
2014-02-05 16:17:36 +00:00
Elena Demikhovsky
9d56f1e0e5
AVX512: combining setcc and zext is wrong on AVX512
...
because vector compare instruction puts result in mask register.
llvm-svn: 199798
2014-01-22 12:26:19 +00:00
Elena Demikhovsky
c5f6726a24
AVX-512: Added implementation of CONCAT_VECTORS for v8i1 vectors (by Alexey Bader).
...
Added implementation of "truncate" from integer type (i64/i32/i16/i8) to i1.
llvm-svn: 197482
2013-12-17 08:33:15 +00:00
Juergen Ributzka
53d0b492f5
[X86] Perform VSELECT DAG combines also before DAG type legalization.
...
If the DAG already has only legal types, then the second round of DAG combines
is skipped. In this case VSELECT+SETCC patterns that match a more efficient
instruction (e.g. min/max) are never recognized.
This fix allows VSELECT+SETCC combines if the types are already legal before DAG
type legalization.
Reviewer: Nadav
llvm-svn: 190105
2013-09-05 23:02:56 +00:00
Elena Demikhovsky
1490c5eb5b
AVX-512: added arithmetic and logical operations.
...
ADD, SUB, MUL integer and FP types. OR, AND, XOR.
Added embeded broadcast form for these instructions.
llvm-svn: 188673
2013-08-19 13:26:14 +00:00
Elena Demikhovsky
60b1f289f2
AVX-512: Added CMP and BLEND instructions.
...
Lowering for SETCC.
llvm-svn: 188265
2013-08-13 13:24:07 +00:00