
Fix pr https://github.com/llvm/llvm-project/pull/127553. x86_64 failed to run readcyclecounter.ll when enable expensive_check, it would error "Using an undefined physical register".
46 lines
1.8 KiB
LLVM
46 lines
1.8 KiB
LLVM
;RUN: llc -mtriple=mipsel-linux-gnu -mcpu=mips32r2 < %s | FileCheck %s --check-prefix=MIPSEL
|
|
;RUN: llc -mtriple=mips64el-linux-gnuabi64 -mcpu=mips64r2 < %s | FileCheck %s --check-prefix=MIPS64EL
|
|
;RUN: llc -mtriple=mipsel-linux-gnu -mcpu=mips2 < %s | FileCheck %s --check-prefix=MIPSEL
|
|
;RUN: llc -mtriple=mips64el-linux-gnuabi64 -mcpu=mips3 < %s | FileCheck %s --check-prefix=MIPS64EL
|
|
;RUN: llc -mtriple=mipsel -mcpu=mips32r2 < %s | FileCheck %s --check-prefix=MIPSEL
|
|
;RUN: llc -mtriple=mips64el -mcpu=mips64r2 < %s | FileCheck %s --check-prefix=MIPS64EL
|
|
;RUN: llc -mtriple=mipsel -mcpu=mips2 < %s | FileCheck %s --check-prefix=MIPSEL_NOT_SUPPORTED
|
|
;RUN: llc -mtriple=mips64el -mcpu=mips3 < %s | FileCheck %s --check-prefix=MIPS64EL_NOT_SUPPORTED
|
|
|
|
declare i64 @llvm.readcyclecounter() nounwind readnone
|
|
|
|
define i64 @test_readcyclecounter() nounwind {
|
|
; MIPSEL-LABEL: test_readcyclecounter:
|
|
; MIPSEL: # %bb.0: # %entry
|
|
; MIPSEL-NEXT: .set push
|
|
; MIPSEL-NEXT: .set mips32r2
|
|
; MIPSEL-NEXT: rdhwr $2, $hwr_cc
|
|
; MIPSEL-NEXT: .set pop
|
|
; MIPSEL-NEXT: jr $ra
|
|
; MIPSEL-NEXT: addiu $3, $zero, 0
|
|
;
|
|
; MIPSEL_NOT_SUPPORTED-LABEL: test_readcyclecounter:
|
|
; MIPSEL_NOT_SUPPORTED: # %bb.0: # %entry
|
|
; MIPSEL_NOT_SUPPORTED-NEXT: addiu $2, $zero, 0
|
|
; MIPSEL_NOT_SUPPORTED-NEXT: jr $ra
|
|
; MIPSEL_NOT_SUPPORTED-NEXT: addiu $3, $zero, 0
|
|
;
|
|
; MIPS64EL-LABEL: test_readcyclecounter:
|
|
; MIPS64EL: # %bb.0: # %entry
|
|
; MIPS64EL-NEXT: .set push
|
|
; MIPS64EL-NEXT: .set mips32r2
|
|
; MIPS64EL-NEXT: rdhwr $2, $hwr_cc
|
|
; MIPS64EL-NEXT: .set pop
|
|
; MIPS64EL-NEXT: jr $ra
|
|
; MIPS64EL-NEXT: nop
|
|
;
|
|
; MIPS64EL_NOT_SUPPORTED-LABEL: test_readcyclecounter:
|
|
; MIPS64EL_NOT_SUPPORTED: # %bb.0: # %entry
|
|
; MIPS64EL_NOT_SUPPORTED-NEXT: jr $ra
|
|
; MIPS64EL_NOT_SUPPORTED-NEXT: daddiu $2, $zero, 0
|
|
entry:
|
|
%tmp0 = tail call i64 @llvm.readcyclecounter()
|
|
ret i64 %tmp0
|
|
}
|
|
|