[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / X86 / pr29061.ll
blob3b5b4e6621eb9b43763fa1b6c5d28b4eb741e184
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple i386-unknown-linux-gnu < %s | FileCheck %s
4 ; Previously, a reference to SIL/DIL was being emitted
5 ; but those aren't available unless on a 64bit mode
7 define void @t1(i8 signext %c) {
8 ; CHECK-LABEL: t1:
9 ; CHECK:       # %bb.0: # %entry
10 ; CHECK-NEXT:    pushl %edi
11 ; CHECK-NEXT:    .cfi_def_cfa_offset 8
12 ; CHECK-NEXT:    .cfi_offset %edi, -8
13 ; CHECK-NEXT:    movzbl {{[0-9]+}}(%esp), %edi
14 ; CHECK-NEXT:    # kill: def $di killed $di killed $edi
15 ; CHECK-NEXT:    #APP
16 ; CHECK-NEXT:    #NO_APP
17 ; CHECK-NEXT:    popl %edi
18 ; CHECK-NEXT:    .cfi_def_cfa_offset 4
19 ; CHECK-NEXT:    retl
20 entry:
21   tail call void asm sideeffect "", "{di},~{dirflag},~{fpsr},~{flags}"(i8 %c)
22   ret void
25 define void @t2(i8 signext %c) {
26 ; CHECK-LABEL: t2:
27 ; CHECK:       # %bb.0: # %entry
28 ; CHECK-NEXT:    pushl %esi
29 ; CHECK-NEXT:    .cfi_def_cfa_offset 8
30 ; CHECK-NEXT:    .cfi_offset %esi, -8
31 ; CHECK-NEXT:    movzbl {{[0-9]+}}(%esp), %esi
32 ; CHECK-NEXT:    # kill: def $si killed $si killed $esi
33 ; CHECK-NEXT:    #APP
34 ; CHECK-NEXT:    #NO_APP
35 ; CHECK-NEXT:    popl %esi
36 ; CHECK-NEXT:    .cfi_def_cfa_offset 4
37 ; CHECK-NEXT:    retl
38 entry:
39   tail call void asm sideeffect "", "{si},~{dirflag},~{fpsr},~{flags}"(i8 %c)
40   ret void