1; RUN: mlir-translate -import-llvm %s | FileCheck %s 2 3; CHECK: llvm.func @vec_type_hint() attributes {vec_type_hint = #llvm.vec_type_hint<hint = i32>} 4declare !vec_type_hint !0 void @vec_type_hint() 5 6; CHECK: llvm.func @vec_type_hint_signed() attributes {vec_type_hint = #llvm.vec_type_hint<hint = i32, is_signed = true>} 7declare !vec_type_hint !1 void @vec_type_hint_signed() 8 9; CHECK: llvm.func @vec_type_hint_signed_vec() attributes {vec_type_hint = #llvm.vec_type_hint<hint = vector<2xi32>, is_signed = true>} 10declare !vec_type_hint !2 void @vec_type_hint_signed_vec() 11 12; CHECK: llvm.func @vec_type_hint_float_vec() attributes {vec_type_hint = #llvm.vec_type_hint<hint = vector<3xf32>>} 13declare !vec_type_hint !3 void @vec_type_hint_float_vec() 14 15; CHECK: llvm.func @vec_type_hint_bfloat_vec() attributes {vec_type_hint = #llvm.vec_type_hint<hint = vector<8xbf16>>} 16declare !vec_type_hint !4 void @vec_type_hint_bfloat_vec() 17 18; CHECK: llvm.func @work_group_size_hint() attributes {work_group_size_hint = array<i32: 128, 128, 128>} 19declare !work_group_size_hint !5 void @work_group_size_hint() 20 21; CHECK: llvm.func @reqd_work_group_size() attributes {reqd_work_group_size = array<i32: 128, 256, 128>} 22declare !reqd_work_group_size !6 void @reqd_work_group_size() 23 24; CHECK: llvm.func @intel_reqd_sub_group_size() attributes {intel_reqd_sub_group_size = 32 : i32} 25declare !intel_reqd_sub_group_size !7 void @intel_reqd_sub_group_size() 26 27!0 = !{i32 undef, i32 0} 28!1 = !{i32 undef, i32 1} 29!2 = !{<2 x i32> undef, i32 1} 30!3 = !{<3 x float> undef, i32 0} 31!4 = !{<8 x bfloat> undef, i32 0} 32!5 = !{i32 128, i32 128, i32 128} 33!6 = !{i32 128, i32 256, i32 128} 34!7 = !{i32 32} 35