Compiler projects using llvm
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
;; -mattr=+all is not intended to be used for code emitters. Nevertheless,
;; llc does not reject it. This test intends to catch behavior changes.
; RUN: llc -mtriple=aarch64 -mattr=+all < %s | FileCheck %s

define half @bf16() nounwind {
; CHECK-LABEL: bf16:
; CHECK:       // %bb.0:
; CHECK-NEXT:    adrp x8, .LCPI0_0
; CHECK-NEXT:    ldr h0, [x8, :lo12:.LCPI0_0]
; CHECK-NEXT:    ret
  ret half 0xH0000
}

define i64 @perfmon() nounwind {
; CHECK-LABEL: perfmon:
; CHECK:       // %bb.0:
; CHECK-NEXT:    mov x0, xzr
; CHECK-NEXT:    ret
  %tmp0 = call i64 @llvm.readcyclecounter()
  ret i64 %tmp0
}

declare i64 @llvm.readcyclecounter()