brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · 0247126 Raw
46 lines · plain
1// RUN: cir-opt %s --verify-roundtrip | FileCheck %s2 3!s32i = !cir.int<s, 32>4!s8i = !cir.int<s, 8>5#true = #cir.bool<true> : !cir.bool6module {7  cir.func @binary_assign() {8    %0 = cir.alloca !cir.bool, !cir.ptr<!cir.bool>, ["b"] {alignment = 1 : i64}9    %1 = cir.alloca !s8i, !cir.ptr<!s8i>, ["c"] {alignment = 1 : i64}10    %2 = cir.alloca !cir.float, !cir.ptr<!cir.float>, ["f"] {alignment = 4 : i64}11    %3 = cir.alloca !s32i, !cir.ptr<!s32i>, ["i"] {alignment = 4 : i64}12    %4 = cir.const #true13    cir.store %4, %0 : !cir.bool, !cir.ptr<!cir.bool>14    %5 = cir.const #cir.int<65> : !s32i15    %6 = cir.cast integral %5 : !s32i -> !s8i16    cir.store %6, %1 : !s8i, !cir.ptr<!s8i>17    %7 = cir.const #cir.fp<3.140000e+00> : !cir.float18    cir.store %7, %2 : !cir.float, !cir.ptr<!cir.float>19    %8 = cir.const #cir.int<42> : !s32i20    cir.store %8, %3 : !s32i, !cir.ptr<!s32i>21    cir.return22  }23}24 25// CHECK: !s32i = !cir.int<s, 32>26// CHECK: !s8i = !cir.int<s, 8>27// CHECK: #true = #cir.bool<true> : !cir.bool28// CHECK: module {29// CHECK:   cir.func{{.*}} @binary_assign() {30// CHECK:     %0 = cir.alloca !cir.bool, !cir.ptr<!cir.bool>, ["b"] {alignment = 1 : i64}31// CHECK:     %1 = cir.alloca !s8i, !cir.ptr<!s8i>, ["c"] {alignment = 1 : i64}32// CHECK:     %2 = cir.alloca !cir.float, !cir.ptr<!cir.float>, ["f"] {alignment = 4 : i64}33// CHECK:     %3 = cir.alloca !s32i, !cir.ptr<!s32i>, ["i"] {alignment = 4 : i64}34// CHECK:     %4 = cir.const #true35// CHECK:     cir.store %4, %0 : !cir.bool, !cir.ptr<!cir.bool>36// CHECK:     %5 = cir.const #cir.int<65> : !s32i37// CHECK:     %6 = cir.cast integral %5 : !s32i -> !s8i38// CHECK:     cir.store %6, %1 : !s8i, !cir.ptr<!s8i>39// CHECK:     %7 = cir.const #cir.fp<3.140000e+00> : !cir.float40// CHECK:     cir.store %7, %2 : !cir.float, !cir.ptr<!cir.float>41// CHECK:     %8 = cir.const #cir.int<42> : !s32i42// CHECK:     cir.store %8, %3 : !s32i, !cir.ptr<!s32i>43// CHECK:     cir.return44// CHECK:   }45// CHECK: }46