1// RUN: mlir-opt %s -test-lower-to-llvm | \ 2// RUN: mlir-runner -e entry -entry-point-result=void \ 3// RUN: -shared-libs=%mlir_c_runner_utils | \ 4// RUN: FileCheck %s 5 6func.func @entry() { 7 %v0 = arith.constant dense<[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]> : vector<16xi4> 8 %v = vector.bitcast %v0 : vector<16xi4> to vector<16xui4> 9 vector.print %v : vector<16xui4> 10 // 11 // Test vector: 12 // 13 // CHECK: ( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ) 14 15 %0 = vector.reduction <add>, %v : vector<16xui4> into ui4 16 vector.print %0 : ui4 17 // CHECK: 8 18 19 %1 = vector.reduction <mul>, %v : vector<16xui4> into ui4 20 vector.print %1 : ui4 21 // CHECK: 0 22 23 %2 = vector.reduction <minui>, %v : vector<16xui4> into ui4 24 vector.print %2 : ui4 25 // CHECK: 0 26 27 %3 = vector.reduction <maxui>, %v : vector<16xui4> into ui4 28 vector.print %3 : ui4 29 // CHECK: 15 30 31 %4 = vector.reduction <and>, %v : vector<16xui4> into ui4 32 vector.print %4 : ui4 33 // CHECK: 0 34 35 %5 = vector.reduction <or>, %v : vector<16xui4> into ui4 36 vector.print %5 : ui4 37 // CHECK: 15 38 39 %6 = vector.reduction <xor>, %v : vector<16xui4> into ui4 40 vector.print %6 : ui4 41 // CHECK: 0 42 43 return 44} 45