brintos

brintos / llvm-project-archived public Read only

0
0
Text · 810 B · f68bada Raw
19 lines · plain
1// RUN: mlir-opt %s --convert-vector-to-llvm='vector-transpose-lowering=llvmintr' --split-input-file | FileCheck %s2 3// CHECK-LABEL: func @transpose(4func.func @transpose(%arg0: vector<2x4xf32>) -> vector<4x2xf32> {5  // CHECK:       llvm.intr.matrix.transpose %{{.*}} {columns = 2 : i32, rows = 4 : i32} : vector<8xf32> into vector<8xf32>6  %0 = vector.transpose %arg0, [1, 0] : vector<2x4xf32> to vector<4x2xf32>7  return %0 : vector<4x2xf32>8}9 10/// Scalable vectors are not supported11 12// CHECK-LABEL: func @transpose_scalable(13func.func @transpose_scalable(%arg0: vector<2x[4]xf32>) -> vector<[4]x2xf32> {14  // CHECK-NOT:       llvm.intr.matrix.transpose15  // CHECK:           vector.transpose16  %0 = vector.transpose %arg0, [1, 0] : vector<2x[4]xf32> to vector<[4]x2xf32>17  return %0 : vector<[4]x2xf32>18}19