reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
# RUN: llc -x mir -mtriple aarch64-apple-ios -run-pass mir-namer -verify-machineinstrs -o - < %s | FileCheck %s

---
name: foo
body:             |
  bb.0:

    ;CHECK: bb
    ;CHECK-NEXT: %namedVReg1353:_(p0) = COPY $d0
    ;CHECK-NEXT: %namedVReg1352:_(<4 x s32>) = COPY $q0
    ;CHECK-NEXT: G_STORE %namedVReg1352(<4 x s32>), %namedVReg1353

    liveins: $q0, $d0
    %1:fpr(p0) = COPY $d0
    %0:fpr(<4 x s32>) = COPY $q0
    G_STORE %0(<4 x s32>), %1(p0) :: (store 16)
...
---
name: bar
stack:
  - { id: 0, type: default, offset: 0, size: 4, alignment: 4,
      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
      local-offset: -4, debug-info-variable: '', debug-info-expression: '',
      debug-info-location: '' }
body:             |
  bb.0:

    ;CHECK: bb
    ;CHECK-NEXT: %namedVReg1370:gpr32 = LDRWui
    ;CHECK-NEXT: %namedVReg1371:gpr32 = MOVi32imm 1
    ;CHECK-NEXT: %namedVReg1372:gpr32 = LDRWui
    ;CHECK-NEXT: %namedVReg1373:gpr32 = MOVi32imm 2
    ;CHECK-NEXT: %namedVReg1359:gpr32 = LDRWui
    ;CHECK-NEXT: %namedVReg1360:gpr32 = MOVi32imm 3
    ;CHECK-NEXT: %namedVReg1365:gpr32 = nsw ADDWrr
    ;CHECK-NEXT: %namedVReg1361:gpr32 = LDRWui
    ;CHECK-NEXT: %namedVReg1366:gpr32 = nsw ADDWrr
    ;CHECK-NEXT: %namedVReg1362:gpr32 = MOVi32imm 4
    ;CHECK-NEXT: %namedVReg1355:gpr32 = nsw ADDWrr
    ;CHECK-NEXT: %namedVReg1363:gpr32 = LDRWui
    ;CHECK-NEXT: %namedVReg1364:gpr32 = MOVi32imm 5

    %0:gpr32 = LDRWui %stack.0, 0 :: (dereferenceable load 8)
    %1:gpr32 = MOVi32imm 1
    %2:gpr32 = LDRWui %stack.0, 0 :: (dereferenceable load 8)
    %3:gpr32 = MOVi32imm 2
    %4:gpr32 = LDRWui %stack.0, 0 :: (dereferenceable load 8)
    %5:gpr32 = MOVi32imm 3
    %10:gpr32 = nsw ADDWrr %0:gpr32, %1:gpr32
    %6:gpr32 = LDRWui %stack.0, 0 :: (dereferenceable load 8)
    %11:gpr32 = nsw ADDWrr %2:gpr32, %3:gpr32
    %7:gpr32 = MOVi32imm 4
    %12:gpr32 = nsw ADDWrr %4:gpr32, %5:gpr32
    %8:gpr32 = LDRWui %stack.0, 0 :: (dereferenceable load 8)
    %9:gpr32 = MOVi32imm 5
    %13:gpr32 = nsw ADDWrr %6:gpr32, %7:gpr32
    %14:gpr32 = nsw ADDWrr %8:gpr32, %9:gpr32
    %15:gpr32 = nsw ADDWrr %10:gpr32, %11:gpr32
    %16:gpr32 = nsw ADDWrr %12:gpr32, %13:gpr32
    %17:gpr32 = nsw ADDWrr %14:gpr32, %15:gpr32
    %18:gpr32 = nsw ADDWrr %16:gpr32, %17:gpr32
    $w0 = COPY %18
    RET_ReallyLR implicit $w0
...
---
name: baz
stack:
  - { id: 0, type: default, offset: 0, size: 4, alignment: 4,
      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
      local-offset: -4, debug-info-variable: '', debug-info-expression: '',
      debug-info-location: '' }
body:             |
  bb.0:
    liveins: $x0, $x1, $d0, $d1

    ;CHECK: bb
    ;CHECK-NEXT: %namedVReg1355:gpr32 = LDRWui
    ;CHECK-NEXT: %namedVReg1354:gpr32 = COPY %namedVReg1355
    ;CHECK-NEXT: %namedVReg1353:gpr32 = COPY %namedVReg1354
    ;CHECK-NEXT: %namedVReg1352:gpr32 = COPY %namedVReg1353
    ;CHECK-NEXT: $w0 = COPY %namedVReg1352

    %0:gpr32 = LDRWui %stack.0, 0 :: (dereferenceable load 8)
    %1:gpr32 = COPY %0
    %2:gpr32 = COPY %1
    %3:gpr32 = COPY %2
    $w0 = COPY %3
    RET_ReallyLR implicit $w0
...