brintos

brintos / llvm-project-archived public Read only

0
0
Text · 797 B · b1e799a Raw
33 lines · plain
1; RUN: llc -mtriple=arc < %s | FileCheck %s2 3target triple = "arc"4 5declare i32 @llvm.ctlz.i32(i32, i1)6declare i32 @llvm.cttz.i32(i32, i1)7declare i64 @llvm.readcyclecounter()8 9; CHECK-LABEL: test_ctlz_i32:10; CHECK:       fls.f   %r0, %r011; CHECK-NEXT:  mov.eq  %r0, 3212; CHECK-NEXT:  rsub.ne %r0, %r0, 3113define i32 @test_ctlz_i32(i32 %x) {14  %a = call i32 @llvm.ctlz.i32(i32 %x, i1 false)15  ret i32 %a16}17 18; CHECK-LABEL: test_cttz_i32:19; CHECK:       ffs.f   %r0, %r020; CHECK-NEXT:  mov.eq  %r0, 3221define i32 @test_cttz_i32(i32 %x) {22  %a = call i32 @llvm.cttz.i32(i32 %x, i1 false)23  ret i32 %a24}25 26; CHECK-LABEL: test_readcyclecounter:27; CHECK:       lr %r0, [33]28; CHECK-NEXT:  mov %r1, 029define i64 @test_readcyclecounter() nounwind {30  %a = call i64 @llvm.readcyclecounter()31  ret i64 %a32}33