| ;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 | |
| } | |