53 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2 3target triple = "hexagon"4 5; Function Attrs: nounwind readnone6define i32 @f0(i32 %a0) #0 {7b0:8; CHECK: cl09 %v0 = tail call i32 @llvm.ctlz.i32(i32 %a0, i1 true)10 ret i32 %v011}12 13; Function Attrs: nounwind readnone speculatable14declare i32 @llvm.ctlz.i32(i32, i1) #115 16; Function Attrs: nounwind readnone speculatable17declare i64 @llvm.ctlz.i64(i64, i1) #118 19; Function Attrs: nounwind readnone20define i32 @f1(i32 %a0) #0 {21b0:22; CHECK: ct023 %v0 = tail call i32 @llvm.cttz.i32(i32 %a0, i1 true)24 ret i32 %v025}26 27; Function Attrs: nounwind readnone speculatable28declare i32 @llvm.cttz.i32(i32, i1) #129 30; Function Attrs: nounwind readnone speculatable31declare i64 @llvm.cttz.i64(i64, i1) #132 33; Function Attrs: nounwind readnone34define i32 @f2(i64 %a0) #0 {35b0:36; CHECK: cl037 %v0 = tail call i64 @llvm.ctlz.i64(i64 %a0, i1 true)38 %v1 = trunc i64 %v0 to i3239 ret i32 %v140}41 42; Function Attrs: nounwind readnone43define i32 @f3(i64 %a0) #0 {44b0:45; CHECK: ct046 %v0 = tail call i64 @llvm.cttz.i64(i64 %a0, i1 true)47 %v1 = trunc i64 %v0 to i3248 ret i32 %v149}50 51attributes #0 = { nounwind readnone }52attributes #1 = { nounwind readnone speculatable }53