Back to PBT run
output.generic.mlir
"builtin.module"() ({
"llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<void (i32)>, linkage = #llvm.linkage<external>, passthrough = ["nounwind"], sym_name = "zero_counts_0", unnamed_addr = 0 : i64, visibility_ = 0 : i64}> ({
^bb0(%arg2: i32):
%7 = "llvm.intr.cttz"(%arg2) <{is_zero_poison = true}> : (i32) -> i32
%8 = "llvm.intr.cttz"(%arg2) <{is_zero_poison = true}> : (i32) -> i32
"llvm.return"() : () -> ()
}) : () -> ()
"llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<void (i16)>, linkage = #llvm.linkage<external>, passthrough = ["strictfp"], sym_name = "zero_counts_1", unnamed_addr = 0 : i64, visibility_ = 0 : i64}> ({
^bb0(%arg1: i16):
%3 = "math.ctlz"(%arg1) : (i16) -> i16
%4 = "llvm.intr.cttz"(%arg1) <{is_zero_poison = true}> : (i16) -> i16
%5 = "llvm.intr.cttz"(%arg1) <{is_zero_poison = true}> : (i16) -> i16
%6 = "arith.andi"(%arg1, %arg1) : (i16, i16) -> i16
"llvm.return"() : () -> ()
}) : () -> ()
"llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<void (vector<2xi64>)>, linkage = #llvm.linkage<external>, passthrough = ["strictfp"], sym_name = "zero_counts_2", unnamed_addr = 0 : i64, visibility_ = 0 : i64}> ({
^bb0(%arg0: vector<2xi64>):
%0 = "arith.addi"(%arg0, %arg0) <{overflowFlags = #arith.overflow<none>}> : (vector<2xi64>, vector<2xi64>) -> vector<2xi64>
%1 = "llvm.intr.ctlz"(%arg0) <{is_zero_poison = true}> : (vector<2xi64>) -> vector<2xi64>
%2 = "arith.addi"(%arg0, %arg0) <{overflowFlags = #arith.overflow<none>}> : (vector<2xi64>, vector<2xi64>) -> vector<2xi64>
"llvm.return"() : () -> ()
}) : () -> ()
}) : () -> ()