28 lines
994 B
LLVM
28 lines
994 B
LLVM
; 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 }
|