1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=aarch64-unknown-unknown -asm-verbose=false < %s |\ 2*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck %s --check-prefix=CHECK --check-prefix=PERFMON 3*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=aarch64-unknown-unknown -mattr=-perfmon -asm-verbose=false < %s |\ 4*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck %s --check-prefix=CHECK --check-prefix=NOPERFMON 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerdefine i64 @test_readcyclecounter() nounwind { 7*9880d681SAndroid Build Coastguard Worker ; CHECK-LABEL: test_readcyclecounter: 8*9880d681SAndroid Build Coastguard Worker ; PERFMON-NEXT: mrs x0, PMCCNTR_EL0 9*9880d681SAndroid Build Coastguard Worker ; NOPERFMON-NEXT: mov x0, xzr 10*9880d681SAndroid Build Coastguard Worker ; CHECK-NEXT: ret 11*9880d681SAndroid Build Coastguard Worker %tmp0 = call i64 @llvm.readcyclecounter() 12*9880d681SAndroid Build Coastguard Worker ret i64 %tmp0 13*9880d681SAndroid Build Coastguard Worker} 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.readcyclecounter() 16