• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -mtriple=aarch64-- -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s
3--- |
4  target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
5  target triple = "aarch64"
6
7  define i8 @load_acq_i8(i8* %ptr) {
8    %v = load atomic i8, i8* %ptr acquire, align 8
9    ret i8 %v
10  }
11
12...
13---
14name:            load_acq_i8
15alignment:       4
16legalized:       true
17regBankSelected: true
18tracksRegLiveness: true
19liveins:
20  - { reg: '$x0' }
21machineFunctionInfo: {}
22body:             |
23  bb.1:
24    liveins: $x0
25
26    ; CHECK-LABEL: name: load_acq_i8
27    ; CHECK: liveins: $x0
28    ; CHECK: [[COPY:%[0-9]+]]:gpr64sp = COPY $x0
29    ; CHECK: [[LDARB:%[0-9]+]]:gpr32 = LDARB [[COPY]] :: (load acquire 1 from %ir.ptr, align 8)
30    ; CHECK: $w0 = COPY [[LDARB]]
31    ; CHECK: RET_ReallyLR implicit $w0
32    %0:gpr(p0) = COPY $x0
33    %2:gpr(s32) = G_LOAD %0(p0) :: (load acquire 1 from %ir.ptr, align 8)
34    $w0 = COPY %2(s32)
35    RET_ReallyLR implicit $w0
36
37...
38