[ARM] Adjust how NEON shifts are lowered
[llvm-core.git] / test / CodeGen / ARM / ifcvt_forked_diamond_unanalyzable.mir
blob60dcbd9ab6f6877193852efb67f0cf6dd2d5a8c3
1 # RUN: llc -mtriple=arm-apple-ios -run-pass=if-converter %s -o - | FileCheck %s
2 ---
3 name:            foo
4 body:             |
5   bb.0:
6     Bcc %bb.2, 1, $cpsr
8   bb.1:
9   successors: %bb.3(0x20000000), %bb.4(0x60000000)
10     $sp = tADDspi $sp, 1, 14, _
11     Bcc %bb.3, 1, $cpsr
12     B %bb.4
14   bb.2:
15   successors: %bb.3(0x20000000), %bb.4(0x60000000)
16     $sp = tADDspi $sp, 2, 14, _
17     Bcc %bb.3, 1, $cpsr
18     B %bb.4
20   bb.3:
21   successors:
22     $sp = tADDspi $sp, 3, 14, _
23     BX_RET 14, _
25   bb.4:
26   successors:
27     $sp = tADDspi $sp, 4, 14, _
28     BX_RET 14, _
29 ...
31 # Forked-diamond testcase with unanalyzable instructions in both the True and
32 # False BBs following the forked diamond.
34 # CHECK: body:             |
35 # CHECK:   bb.0:
36 # CHECK:     successors: %bb.2(0x20000000), %bb.1(0x60000000)
38 # CHECK:     $sp = tADDspi $sp, 2, 1, $cpsr
39 # CHECK:     $sp = tADDspi $sp, 1, 0, $cpsr, implicit $sp
40 # CHECK:     Bcc %bb.2, 1, $cpsr
42 # CHECK:   bb.1:
43 # CHECK:     $sp = tADDspi $sp, 4, 14, $noreg
44 # CHECK:     BX_RET 14, $noreg
46 # CHECK:   bb.2:
47 # CHECK:     $sp = tADDspi $sp, 3, 14, $noreg
48 # CHECK:     BX_RET 14, $noreg