[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / X86 / scavenger.mir
blob2fd3393a71dacae945b0a560ea8f3120d28965f0
1 # RUN: llc -mtriple=i386-- -run-pass scavenger-test -verify-machineinstrs -o - %s | FileCheck %s
2 ---
3 # CHECK-LABEL: name: func0
4 name: func0
5 tracksRegLiveness: true
6 body: |
7   bb.0:
8     ; CHECK: [[REG0:\$e[a-z]+]] = MOV32ri 42
9     ; CHECK: $ebp = COPY killed [[REG0]]
10     %0 : gr32 = MOV32ri 42
11     $ebp = COPY %0
12 ...
13 ---
14 # CHECK-LABEL: name: func2
15 name: func2
16 tracksRegLiveness: true
17 body: |
18   bb.0:
19     ; CHECK-NOT: $eax = MOV32ri 42
20     ; CHECK: [[REG0:\$e[a-z]+]] = MOV32ri 42
21     ; CHECK: $ebp = COPY killed [[REG0]]
22     $eax = MOV32ri 13
23     %0 : gr32 = MOV32ri 42
24     $ebp = COPY %0
26     ; CHECK: [[REG1:\$e[a-z]+]] = MOV32ri 23
27     ; CHECK: [[REG2:\$e[a-z]+]] = MOV32ri 7
28     ; CHECK: [[REG1]] = ADD32ri8 [[REG1]], 5, implicit-def dead $eflags
29     %1 : gr32 = MOV32ri 23
30     %2 : gr32 = MOV32ri 7
31     %1 = ADD32ri8 %1, 5, implicit-def dead $eflags
33     NOOP implicit $ebp
35     ; CHECK: NOOP implicit killed [[REG2]]
36     ; CHECK: NOOP implicit killed [[REG1]]
37     NOOP implicit %2
38     NOOP implicit %1
39     RETQ $eax
40 ...
41 ---
42 # CHECK-LABEL: name: func3
43 name: func3
44 tracksRegLiveness: true
45 body: |
46   bb.0:
47     ; CHECK dead {{\$e[a-z]+}} = MOV32ri 42
48     dead %0 : gr32 = MOV32ri 42
49 ...