Back to PBT run

output.generic.mlir

"builtin.module"() ({
  "llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<void (i8)>, linkage = #llvm.linkage<external>, passthrough = [["no-trapping-math", "true"]], sym_name = "zero_counts_0", target_cpu = "generic", unnamed_addr = 0 : i64, visibility_ = 0 : i64}> ({
  ^bb0(%arg1: i8):
    %3 = "arith.andi"(%arg1, %arg1) : (i8, i8) -> i8
    %4 = "arith.addi"(%arg1, %arg1) <{overflowFlags = #arith.overflow<none>}> : (i8, i8) -> i8
    %5 = "math.cttz"(%arg1) : (i8) -> i8
    "llvm.return"() : () -> ()
  }) : () -> ()
  "llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<void (vector<4xi32>)>, linkage = #llvm.linkage<external>, passthrough = [["no-trapping-math", "true"]], sym_name = "zero_counts_1", target_cpu = "generic", unnamed_addr = 0 : i64, visibility_ = 0 : i64}> ({
  ^bb0(%arg0: vector<4xi32>):
    %0 = "llvm.intr.cttz"(%arg0) <{is_zero_poison = true}> : (vector<4xi32>) -> vector<4xi32>
    %1 = "llvm.intr.ctlz"(%arg0) <{is_zero_poison = true}> : (vector<4xi32>) -> vector<4xi32>
    %2 = "arith.muli"(%arg0, %arg0) <{overflowFlags = #arith.overflow<none>}> : (vector<4xi32>, vector<4xi32>) -> vector<4xi32>
    "llvm.return"() : () -> ()
  }) : () -> ()
}) : () -> ()