1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -mtriple=thumbv8.1m.main-none-eabi -run-pass=arm-cp-islands -o - %s | FileCheck %s
3
4# CHECK-NOT: Unknown addressing mode for CP reference
5
6--- |
7  target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"
8  target triple = "thumbv8.1m.main-arm-none-eabi"
9
10  define void @t2LDRSBpci() { ret void }
11  define void @t2LDRSHpci() { ret void }
12
13...
14---
15name:            t2LDRSBpci
16alignment:       4
17tracksRegLiveness: true
18constants:
19  - id:              0
20    value:           'i32 0'
21    alignment:       4
22body:             |
23  bb.0:
24    $sp = frame-setup tSUBspi $sp, 3, 14 /* CC::al */, $noreg
25    frame-setup CFI_INSTRUCTION def_cfa_offset 12
26    renamable $r0 = t2LDRSBpci %const.0, 14 /* CC::al */, $noreg :: (dereferenceable load (s8), align 4)
27    renamable $r1 = tMOVr $sp, 14 /* CC::al */, $noreg
28    tCMPr killed renamable $r1, killed renamable $r0, 14 /* CC::al */, $noreg, implicit-def $cpsr
29    $r1 = t2MOVi16 target-flags(arm-lo16) @t2LDRSBpci, 14 /* CC::al */, $noreg
30    renamable $r0 = t2CSINC $zr, $zr, 3, implicit killed $cpsr
31    $r1 = t2MOVTi16 killed $r1, target-flags(arm-hi16) @t2LDRSBpci, 14 /* CC::al */, $noreg
32    tSTRi killed renamable $r0, killed renamable $r1, 0, 14 /* CC::al */, $noreg :: (store (s32))
33    $sp = frame-destroy tADDspi $sp, 3, 14 /* CC::al */, $noreg
34    tBX_RET 14 /* CC::al */, $noreg
35
36...
37---
38name:            t2LDRSHpci
39alignment:       4
40tracksRegLiveness: true
41constants:
42  - id:              0
43    value:           'i32 0'
44    alignment:       4
45body:             |
46  bb.0:
47    $sp = frame-setup tSUBspi $sp, 3, 14 /* CC::al */, $noreg
48    frame-setup CFI_INSTRUCTION def_cfa_offset 12
49    renamable $r0 = t2LDRSHpci %const.0, 14 /* CC::al */, $noreg :: (dereferenceable load (s8), align 4)
50    renamable $r1 = tMOVr $sp, 14 /* CC::al */, $noreg
51    tCMPr killed renamable $r1, killed renamable $r0, 14 /* CC::al */, $noreg, implicit-def $cpsr
52    $r1 = t2MOVi16 target-flags(arm-lo16) @t2LDRSHpci, 14 /* CC::al */, $noreg
53    renamable $r0 = t2CSINC $zr, $zr, 3, implicit killed $cpsr
54    $r1 = t2MOVTi16 killed $r1, target-flags(arm-hi16) @t2LDRSHpci, 14 /* CC::al */, $noreg
55    tSTRi killed renamable $r0, killed renamable $r1, 0, 14 /* CC::al */, $noreg :: (store (s32))
56    $sp = frame-destroy tADDspi $sp, 3, 14 /* CC::al */, $noreg
57    tBX_RET 14 /* CC::al */, $noreg
58
59...
60