[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / X86 / and-load-fold.ll
bloba2454e0314ed1203632722b0cf33f3c64d62ef5c
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple=x86_64-- -mcpu=generic < %s | FileCheck %s
4 ; Verify that the DAGCombiner doesn't wrongly remove the 'and' from the dag.
6 define i8 @foo(<4 x i8>* %V) {
7 ; CHECK-LABEL: foo:
8 ; CHECK:       # %bb.0:
9 ; CHECK-NEXT:    movb 2(%rdi), %al
10 ; CHECK-NEXT:    andb $95, %al
11 ; CHECK-NEXT:    retq
12   %Vp = bitcast <4 x i8>* %V to <3 x i8>*
13   %V3i8 = load <3 x i8>, <3 x i8>* %Vp, align 4
14   %t0 = and <3 x i8> %V3i8, <i8 undef, i8 undef, i8 95>
15   %t1 = extractelement <3 x i8> %t0, i64 2
16   ret i8 %t1