46 lines · plain
1;RUN: llc -mtriple=mipsel-linux-gnu -mcpu=mips32r2 < %s | FileCheck %s --check-prefix=MIPSEL2;RUN: llc -mtriple=mips64el-linux-gnuabi64 -mcpu=mips64r2 < %s | FileCheck %s --check-prefix=MIPS64EL3;RUN: llc -mtriple=mipsel-linux-gnu -mcpu=mips2 < %s | FileCheck %s --check-prefix=MIPSEL4;RUN: llc -mtriple=mips64el-linux-gnuabi64 -mcpu=mips3 < %s | FileCheck %s --check-prefix=MIPS64EL5;RUN: llc -mtriple=mipsel -mcpu=mips32r2 < %s | FileCheck %s --check-prefix=MIPSEL6;RUN: llc -mtriple=mips64el -mcpu=mips64r2 < %s | FileCheck %s --check-prefix=MIPS64EL7;RUN: llc -mtriple=mipsel -mcpu=mips2 < %s | FileCheck %s --check-prefix=MIPSEL_NOT_SUPPORTED8;RUN: llc -mtriple=mips64el -mcpu=mips3 < %s | FileCheck %s --check-prefix=MIPS64EL_NOT_SUPPORTED9 10declare i64 @llvm.readcyclecounter() nounwind readnone11 12define i64 @test_readcyclecounter() nounwind {13; MIPSEL-LABEL: test_readcyclecounter:14; MIPSEL: # %bb.0: # %entry15; MIPSEL-NEXT: .set push16; MIPSEL-NEXT: .set mips32r217; MIPSEL-NEXT: rdhwr $2, $hwr_cc18; MIPSEL-NEXT: .set pop19; MIPSEL-NEXT: jr $ra20; MIPSEL-NEXT: addiu $3, $zero, 021;22; MIPSEL_NOT_SUPPORTED-LABEL: test_readcyclecounter:23; MIPSEL_NOT_SUPPORTED: # %bb.0: # %entry24; MIPSEL_NOT_SUPPORTED-NEXT: addiu $2, $zero, 025; MIPSEL_NOT_SUPPORTED-NEXT: jr $ra26; MIPSEL_NOT_SUPPORTED-NEXT: addiu $3, $zero, 027;28; MIPS64EL-LABEL: test_readcyclecounter:29; MIPS64EL: # %bb.0: # %entry30; MIPS64EL-NEXT: .set push31; MIPS64EL-NEXT: .set mips32r232; MIPS64EL-NEXT: rdhwr $2, $hwr_cc33; MIPS64EL-NEXT: .set pop34; MIPS64EL-NEXT: jr $ra35; MIPS64EL-NEXT: nop36;37; MIPS64EL_NOT_SUPPORTED-LABEL: test_readcyclecounter:38; MIPS64EL_NOT_SUPPORTED: # %bb.0: # %entry39; MIPS64EL_NOT_SUPPORTED-NEXT: jr $ra40; MIPS64EL_NOT_SUPPORTED-NEXT: daddiu $2, $zero, 041entry:42 %tmp0 = tail call i64 @llvm.readcyclecounter()43 ret i64 %tmp044}45 46