[ARM] Generate 8.1-m CSINC, CSNEG and CSINV instructions.
[llvm-core.git] / test / CodeGen / Thumb2 / peephole-cmp.mir
blob9a03c9cf997d72ab5052f7308f89f3a0e7321b58
1 # RUN: llc -run-pass=peephole-opt -verify-machineinstrs -o - %s | FileCheck %s
2 --- |
3   target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
4   target triple = "thumbv7m-none-none-eabi"
6   define i32 @test_addir_frameindex(i32 %a) {
7     %f = alloca i32
8     ret i32 %a
9   }
10 ...
11 ---
12 name:            test_addir_frameindex
13 liveins:
14   - { reg: '$r0', virtual-reg: '%0' }
15 stack:
16   - { id: 0, name: f, type: default, offset: 0, size: 1, alignment: 4,
17       stack-id: default, callee-saved-register: '', callee-saved-restored: true,
18       local-offset: -4, debug-info-variable: '', debug-info-expression: '',
19       debug-info-location: '' }
20 body:             |
21   bb.0:
22     successors: %bb.2(0x40000000), %bb.1(0x40000000)
23     liveins: $r0
25     %0:rgpr = COPY $r0
26     %1:gprnopc = t2ADDri %stack.0.f, 0, 14, $noreg, $noreg
27     t2CMPrr %1, %0, 14, $noreg, implicit-def $cpsr
28     t2Bcc %bb.2, 3, $cpsr
29     t2B %bb.1, 14, $noreg
31   bb.1:
32     $r0 = COPY %1
33     tBX_RET 14, $noreg
35   bb.2:
36     $r0 = COPY %0
37     tBX_RET 14, $noreg
39 # CHECK-LABEL: name: test_addir_frameindex
40 # CHECK:      %1:gprnopc = t2ADDri %stack.0.f, 0, 14, $noreg, $noreg
41 # CHECK-NEXT: t2CMPrr %1, %0, 14, $noreg, implicit-def $cpsr
42 # CHECK-NEXT: t2Bcc %bb.2, 3, $cpsr
43 ...