64 lines · plain
1// RUN: mlir-opt -test-convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s2 3// CHECK-LABEL: @basic4func.func @basic(%a: index, %b: index) {5 // CHECK: spirv.IAdd6 %0 = index.add %a, %b7 // CHECK: spirv.ISub8 %1 = index.sub %a, %b9 // CHECK: spirv.IMul10 %2 = index.mul %a, %b11 // CHECK: spirv.SDiv12 %3 = index.divs %a, %b13 // CHECK: spirv.UDiv14 %4 = index.divu %a, %b15 // CHECK: spirv.SRem16 %5 = index.rems %a, %b17 // CHECK: spirv.UMod18 %6 = index.remu %a, %b19 // CHECK: spirv.GL.SMax20 %7 = index.maxs %a, %b21 // CHECK: spirv.GL.UMax22 %8 = index.maxu %a, %b23 // CHECK: spirv.GL.SMin24 %9 = index.mins %a, %b25 // CHECK: spirv.GL.UMin26 %10 = index.minu %a, %b27 // CHECK: spirv.ShiftLeftLogical28 %11 = index.shl %a, %b29 // CHECK: spirv.ShiftRightArithmetic30 %12 = index.shrs %a, %b31 // CHECK: spirv.ShiftRightLogical32 %13 = index.shru %a, %b33 // CHECK: spirv.BitwiseAnd34 %14 = index.and %a, %b35 // CHECK: spirv.BitwiseOr36 %15 = index.or %a, %b37 // CHECK: spirv.BitwiseXor38 %16 = index.xor %a, %b39 return40}41 42// CHECK-LABEL: @cmp43func.func @cmp(%a : index, %b : index) {44 // CHECK: spirv.IEqual45 %0 = index.cmp eq(%a, %b)46 return47}48 49// CHECK-LABEL: @ceildivs50// CHECK-SAME: %[[ARG0:.*]]: i32, %[[ARG1:.*]]: i3251// CHECK: spirv.ReturnValue %{{.*}} : i3252func.func @ceildivs(%n: index, %m: index) -> index {53 %result = index.ceildivs %n, %m54 return %result : index55}56 57// CHECK-LABEL: @ceildivu58// CHECK-SAME: %[[ARG0:.*]]: i32, %[[ARG1:.*]]: i3259// CHECK: spirv.ReturnValue %{{.*}} : i3260func.func @ceildivu(%n: index, %m: index) -> index {61 %result = index.ceildivu %n, %m62 return %result : index63}64