// RUN: cir-opt %s --verify-roundtrip | FileCheck %s !s32i = !cir.int !s8i = !cir.int #true = #cir.bool : !cir.bool module { cir.func @binary_assign() { %0 = cir.alloca !cir.bool, !cir.ptr, ["b"] {alignment = 1 : i64} %1 = cir.alloca !s8i, !cir.ptr, ["c"] {alignment = 1 : i64} %2 = cir.alloca !cir.float, !cir.ptr, ["f"] {alignment = 4 : i64} %3 = cir.alloca !s32i, !cir.ptr, ["i"] {alignment = 4 : i64} %4 = cir.const #true cir.store %4, %0 : !cir.bool, !cir.ptr %5 = cir.const #cir.int<65> : !s32i %6 = cir.cast integral %5 : !s32i -> !s8i cir.store %6, %1 : !s8i, !cir.ptr %7 = cir.const #cir.fp<3.140000e+00> : !cir.float cir.store %7, %2 : !cir.float, !cir.ptr %8 = cir.const #cir.int<42> : !s32i cir.store %8, %3 : !s32i, !cir.ptr cir.return } } // CHECK: !s32i = !cir.int // CHECK: !s8i = !cir.int // CHECK: #true = #cir.bool : !cir.bool // CHECK: module { // CHECK: cir.func{{.*}} @binary_assign() { // CHECK: %0 = cir.alloca !cir.bool, !cir.ptr, ["b"] {alignment = 1 : i64} // CHECK: %1 = cir.alloca !s8i, !cir.ptr, ["c"] {alignment = 1 : i64} // CHECK: %2 = cir.alloca !cir.float, !cir.ptr, ["f"] {alignment = 4 : i64} // CHECK: %3 = cir.alloca !s32i, !cir.ptr, ["i"] {alignment = 4 : i64} // CHECK: %4 = cir.const #true // CHECK: cir.store %4, %0 : !cir.bool, !cir.ptr // CHECK: %5 = cir.const #cir.int<65> : !s32i // CHECK: %6 = cir.cast integral %5 : !s32i -> !s8i // CHECK: cir.store %6, %1 : !s8i, !cir.ptr // CHECK: %7 = cir.const #cir.fp<3.140000e+00> : !cir.float // CHECK: cir.store %7, %2 : !cir.float, !cir.ptr // CHECK: %8 = cir.const #cir.int<42> : !s32i // CHECK: cir.store %8, %3 : !s32i, !cir.ptr // CHECK: cir.return // CHECK: } // CHECK: }