@@ -533,6 +533,28 @@ moore.module @Struct(in %a : !moore.i32, in %b : !moore.i32, in %arg0 : !moore.s
533533 moore.output %0 , %3 , %4 : !moore.i32 , !moore.struct <{exp_bits: i32 , man_bits: i32 }>, !moore.struct <{exp_bits: i32 , man_bits: i32 }>
534534}
535535
536+ // CHECK-LABEL: func @ArrayCreate
537+ // CHECK-SAME: () -> !hw.array<2xi8>
538+ func.func @ArrayCreate () -> !moore.array <2 x!moore.i8 > {
539+ // CHECK-NEXT: %c42_i8 = hw.constant 42 : i8
540+ %c0 = moore.constant 42 : !moore.i8
541+ // CHECK-NEXT: [[ARR:%.*]] = hw.array_create %c42_i8, %c42_i8 : i8
542+ %arr = moore.array_create %c0 , %c0 : !moore.i8 , !moore.i8 -> !moore.array <2 x!moore.i8 >
543+ // CHECK-NEXT: return [[ARR:%.*]] : !hw.array<2xi8>
544+ return %arr : !moore.array <2 x!moore.i8 >
545+ }
546+
547+ // CHECK-LABEL: func @UnpackedArrayCreate
548+ // CHECK-SAME: () -> !hw.array<2xi8>
549+ func.func @UnpackedArrayCreate () -> !moore.uarray <2 x!moore.i8 > {
550+ // CHECK-NEXT: %c7_i8 = hw.constant 7 : i8
551+ %a = moore.constant 7 : !moore.i8
552+ // CHECK-NEXT: [[ARR:%.*]] = hw.array_create %c7_i8, %c7_i8 : i8
553+ %arr = moore.array_create %a , %a : !moore.i8 , !moore.i8 -> !moore.uarray <2 x!moore.i8 >
554+ // CHECK-NEXT: return [[ARR:%.*]] : !hw.array<2xi8>
555+ return %arr : !moore.uarray <2 x!moore.i8 >
556+ }
557+
536558// CHECK-LABEL: hw.module @UnpackedStruct
537559moore.module @UnpackedStruct () {
538560 // CHECK: %[[C1_32:.*]] = hw.constant 1 : i32
0 commit comments