Issue 57951
Summary `tosa.cast` and `tosa.equal` get folded incorrectly
Labels new issue
Assignees
Reporter jackalcooper
    ```mlir
// -----// IR Dump Before Canonicalizer (canonicalize) ('builtin.module' operation) //----- //
module {
  func.func @"Elixir.Manx.ExprTest.-successive_compare/2-fun-0-.33301673"(%arg0: tensor<i64>, %arg1: tensor<i64>) -> tensor<i8> {
    %0 = "tosa.cast"(%arg1) : (tensor<i64>) -> tensor<i64>
    %1 = "tosa.equal"(%0, %arg1) : (tensor<i64>, tensor<i64>) -> tensor<i1>
    %2 = "tosa.cast"(%1) : (tensor<i1>) -> tensor<i8>
    %3 = "tosa.cast"(%2) : (tensor<i8>) -> tensor<i64>
    %4 = "tosa.equal"(%arg0, %3) : (tensor<i64>, tensor<i64>) -> tensor<i1>
    %5 = "tosa.cast"(%4) : (tensor<i1>) -> tensor<i8>
    return %5 : tensor<i8>
  }
}


// -----// IR Dump After Canonicalizer (canonicalize) ('builtin.module' operation) //----- //
module {
  func.func @"Elixir.Manx.ExprTest.-successive_compare/2-fun-0-.33301673"(%arg0: tensor<i64>, %arg1: tensor<i64>) -> tensor<i8> {
    %0 = "tosa.const"() {value = dense<-1> : tensor<i64>} : () -> tensor<i64>
    %1 = "tosa.equal"(%arg0, %0) : (tensor<i64>, tensor<i64>) -> tensor<i1>
    %2 = "tosa.cast"(%1) : (tensor<i1>) -> tensor<i8>
    return %2 : tensor<i8>
  }
}
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to