llvm-project/llvm/test/CodeGen
Elena Demikhovsky d2cb3c8876 AVX-512: Fixed the "test" operation for i1 type
Using KORTESTW for comparison i1 value with zero was wrong since the instruction tests 16 bits.
KORTESTW may be used with KSHIFTL+KSHIFTR that clean the 15 upper bits.
I removed (X86cmp i1, 0) pattern and zero-extend i1 to i8 and then use TESTB.

There are some cases where i1 is in the mask register and the upper bits are already zeroed.
Then KORTESTW is the better solution, but it is subject for optimization.
Meanwhile, I'm fixing the correctness issue.

llvm-svn: 228916
2015-02-12 08:40:34 +00:00
..
AArch64 [CodeGen] Don't blindly combine (fp_round (fp_round x)) to (fp_round x). 2015-02-12 06:15:29 +00:00
ARM [SimplifyCFG] Swap to using TargetTransformInfo for cost 2015-02-11 12:15:41 +00:00
BPF bpf: add missing lit.local.cfg 2015-01-24 18:20:52 +00:00
CPP
Generic overloaded-intrinsic-name: exercise anyptr on struct 2015-01-27 20:03:08 +00:00
Hexagon [Hexagon] Factoring classes out of store patterns. 2015-02-09 20:33:46 +00:00
Inputs IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
MSP430 Drop the W postfix on the 16-bit registers. 2014-09-10 06:58:14 +00:00
Mips Fix makeLibCall argument (signed) in SoftenFloatRes_XINT_TO_FP function 2015-02-10 23:30:14 +00:00
NVPTX [NVPTX] Emit .pragma "nounroll" for loops marked with nounroll 2015-02-01 02:27:45 +00:00
PowerPC [PowerPC] Mark jumps as expensive (using using CR bits) 2015-02-12 01:02:52 +00:00
R600 R600/SI: Disable subreg liveness 2015-02-11 18:24:53 +00:00
SPARC Use the integrated assembler by default on SPARC. 2015-01-14 07:53:39 +00:00
SystemZ Use the integrated assembler as default on SystemZ 2015-01-13 19:45:16 +00:00
Thumb IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
Thumb2 Make buildbots better. 2015-02-11 12:24:09 +00:00
X86 AVX-512: Fixed the "test" operation for i1 type 2015-02-12 08:40:34 +00:00
XCore IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00