[llvm] [Mips] Support llvm.readcyclecounter intrinsic (PR #114953)
YunQiang Su via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 9 17:18:43 PST 2025
================
@@ -0,0 +1,43 @@
+;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
+
+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
----------------
wzssyqa wrote:
Ohh, I find another problem, the return value is `i64`.
It means that we should set `$a1/$3` to zero here, just as `MIPSEL_NOT_SUPPORTED` does.
https://github.com/llvm/llvm-project/pull/114953
More information about the llvm-commits
mailing list