xref: /llvm-project/mlir/test/Target/Cpp/logical_operators.mlir (revision b81bb0e1d0acc3db64557ed699ccba751b8b511a)
1// RUN: mlir-translate -mlir-to-cpp %s | FileCheck %s
2
3func.func @logical(%arg0: i32, %arg1: i32) -> () {
4  %0 = emitc.logical_and %arg0, %arg1 : i32, i32
5  %1 = emitc.logical_not %arg0  : i32
6  %2 = emitc.logical_or %arg0, %arg1 : i32, i32
7
8  return
9}
10
11// CHECK-LABEL: void logical
12// CHECK-NEXT:  bool [[V2:[^ ]*]] = [[V0:[^ ]*]] && [[V1:[^ ]*]];
13// CHECK-NEXT:  bool [[V3:[^ ]*]] = ![[V0]];
14// CHECK-NEXT:  bool [[V4:[^ ]*]] = [[V0]] || [[V1]];
15