1// RUN: mlir-opt -split-input-file -convert-spirv-to-llvm -verify-diagnostics %s | FileCheck %s 2 3//===----------------------------------------------------------------------===// 4// Array type 5//===----------------------------------------------------------------------===// 6 7// CHECK-LABEL: @array(!llvm.array<16 x f32>, !llvm.array<32 x vector<4xf32>>) 8spirv.func @array(!spirv.array<16 x f32>, !spirv.array< 32 x vector<4xf32> >) "None" 9 10// CHECK-LABEL: @array_with_natural_stride(!llvm.array<16 x f32>) 11spirv.func @array_with_natural_stride(!spirv.array<16 x f32, stride=4>) "None" 12 13//===----------------------------------------------------------------------===// 14// Pointer type 15//===----------------------------------------------------------------------===// 16 17// CHECK-LABEL: @pointer_scalar(!llvm.ptr, !llvm.ptr) 18spirv.func @pointer_scalar(!spirv.ptr<i1, Uniform>, !spirv.ptr<f32, Private>) "None" 19 20// CHECK-LABEL: @pointer_vector(!llvm.ptr) 21spirv.func @pointer_vector(!spirv.ptr<vector<4xi32>, Function>) "None" 22 23//===----------------------------------------------------------------------===// 24// Runtime array type 25//===----------------------------------------------------------------------===// 26 27// CHECK-LABEL: @runtime_array_vector(!llvm.array<0 x vector<4xf32>>) 28spirv.func @runtime_array_vector(!spirv.rtarray< vector<4xf32> >) "None" 29 30// CHECK-LABEL: @runtime_array_scalar(!llvm.array<0 x f32>) 31spirv.func @runtime_array_scalar(!spirv.rtarray<f32>) "None" 32 33//===----------------------------------------------------------------------===// 34// Struct type 35//===----------------------------------------------------------------------===// 36 37// CHECK-LABEL: @struct(!llvm.struct<packed (f64)>) 38spirv.func @struct(!spirv.struct<(f64)>) "None" 39 40// CHECK-LABEL: @struct_nested(!llvm.struct<packed (i32, struct<packed (i64, i32)>)>) 41spirv.func @struct_nested(!spirv.struct<(i32, !spirv.struct<(i64, i32)>)>) "None" 42 43// CHECK-LABEL: @struct_with_natural_offset(!llvm.struct<(i8, i32)>) 44spirv.func @struct_with_natural_offset(!spirv.struct<(i8[0], i32[4])>) "None" 45