; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
; RUN: llc -O0 --frame-pointer=none -mtriple=riscv32 -mattr=+zcmp \
; RUN: -verify-machineinstrs < %s | FileCheck %s
define dso_local i64 @a() #0 {
; CHECK-LABEL: a:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: addi sp, sp, -16
; CHECK-NEXT: .LBB0_1: # %entry
; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
; CHECK-NEXT: rdcycleh a0
; CHECK-NEXT: sw a0, 8(sp) # 4-byte Folded Spill
; CHECK-NEXT: rdcycle a1
; CHECK-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
; CHECK-NEXT: rdcycleh a1
; CHECK-NEXT: bne a0, a1, .LBB0_1
; CHECK-NEXT: # %bb.2: # %entry
; CHECK-NEXT: lw a1, 8(sp) # 4-byte Folded Reload
; CHECK-NEXT: lw a0, 12(sp) # 4-byte Folded Reload
; CHECK-NEXT: addi sp, sp, 16
; CHECK-NEXT: ret
entry:
%0 = call i64 @llvm.readcyclecounter()
ret i64 %0
}
declare i64 @llvm.readcyclecounter() #1
attributes #0 = { noinline nounwind optnone }