aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/CodeGen/AArch64/range-prefetch.ll
blob: bc01498296cf3b459de0303aef5924414bd57341 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
; RUN: llc -mtriple=aarch64 -mattr=+v8.9a --global-isel=0 < %s | FileCheck %s
; RUN: llc -mtriple=aarch64 -mattr=+v8.9a --global-isel=1 --global-isel-abort=1 < %s | FileCheck %s

define void @range_prefetch_metadata_accesses(ptr %a, i64 %metadata) {
; CHECK-LABEL: range_prefetch_metadata_accesses:
; CHECK:       // %bb.0:
; CHECK-NEXT:    rprfm pldkeep, x1, [x0]
; CHECK-NEXT:    rprfm pstkeep, x1, [x0]
; CHECK-NEXT:    rprfm pldstrm, x1, [x0]
; CHECK-NEXT:    rprfm pststrm, x1, [x0]
; CHECK-NEXT:    ret
  call void @llvm.aarch64.range.prefetch(ptr %a, i32 0, i32 0, i64 %metadata)
  call void @llvm.aarch64.range.prefetch(ptr %a, i32 1, i32 0, i64 %metadata)
  call void @llvm.aarch64.range.prefetch(ptr %a, i32 0, i32 1, i64 %metadata)
  call void @llvm.aarch64.range.prefetch(ptr %a, i32 1, i32 1, i64 %metadata)
  ret void
}