brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.3 KiB · 4967d96 Raw
128 lines · plain
1// RUN: yaml2obj %S/inputs/div.yaml.wasm -o - | mlir-translate --import-wasm | FileCheck %s2 3/* Source code used to create this test:4(module5    (func (export "div_u_i32") (result i32)6        i32.const 107        i32.const 28        i32.div_u9    )10 11    (func (export "div_u_i32_zero") (result i32)12        i32.const 1013        i32.const 014        i32.div_u15    )16 17    (func (export "div_s_i32") (result i32)18        i32.const 1019        i32.const 220        i32.div_s21    )22 23    (func (export "div_s_i32_zero") (result i32)24        i32.const 1025        i32.const 026        i32.div_s27    )28 29    (func (export "div_u_i64") (result i64)30        i64.const 1031        i64.const 232        i64.div_u33    )34 35    ;; explode36    (func (export "div_u_i64_zero") (result i64)37        i64.const 1038        i64.const 039        i64.div_u40    )41 42    (func (export "div_s_i64") (result i64)43        i64.const 1044        i64.const 245        i64.div_s46    )47 48    ;; explode49    (func (export "div_s_i64_zero") (result i64)50        i64.const 1051        i64.const 052        i64.div_s53    )54 55    (func (export "div_f32") (result f32)56        f32.const 1057        f32.const 258        f32.div59    )60 61    (func (export "div_f64") (result f64)62        f64.const 1063        f64.const 264        f64.div65    )66)67*/68 69// CHECK-LABEL:   wasmssa.func exported @div_u_i32() -> i32 {70// CHECK:           %[[VAL_0:.*]] = wasmssa.const 10 : i3271// CHECK:           %[[VAL_1:.*]] = wasmssa.const 2 : i3272// CHECK:           %[[VAL_2:.*]] = wasmssa.div_ui %[[VAL_0]] %[[VAL_1]] : i3273// CHECK:           wasmssa.return %[[VAL_2]] : i3274 75// CHECK-LABEL:   wasmssa.func exported @div_u_i32_zero() -> i32 {76// CHECK:           %[[VAL_0:.*]] = wasmssa.const 10 : i3277// CHECK:           %[[VAL_1:.*]] = wasmssa.const 0 : i3278// CHECK:           %[[VAL_2:.*]] = wasmssa.div_ui %[[VAL_0]] %[[VAL_1]] : i3279// CHECK:           wasmssa.return %[[VAL_2]] : i3280 81// CHECK-LABEL:   wasmssa.func exported @div_s_i32() -> i32 {82// CHECK:           %[[VAL_0:.*]] = wasmssa.const 10 : i3283// CHECK:           %[[VAL_1:.*]] = wasmssa.const 2 : i3284// CHECK:           %[[VAL_2:.*]] = wasmssa.div_si %[[VAL_0]] %[[VAL_1]] : i3285// CHECK:           wasmssa.return %[[VAL_2]] : i3286 87// CHECK-LABEL:   wasmssa.func exported @div_s_i32_zero() -> i32 {88// CHECK:           %[[VAL_0:.*]] = wasmssa.const 10 : i3289// CHECK:           %[[VAL_1:.*]] = wasmssa.const 0 : i3290// CHECK:           %[[VAL_2:.*]] = wasmssa.div_si %[[VAL_0]] %[[VAL_1]] : i3291// CHECK:           wasmssa.return %[[VAL_2]] : i3292 93// CHECK-LABEL:   wasmssa.func exported @div_u_i64() -> i64 {94// CHECK:           %[[VAL_0:.*]] = wasmssa.const 10 : i6495// CHECK:           %[[VAL_1:.*]] = wasmssa.const 2 : i6496// CHECK:           %[[VAL_2:.*]] = wasmssa.div_ui %[[VAL_0]] %[[VAL_1]] : i6497// CHECK:           wasmssa.return %[[VAL_2]] : i6498 99// CHECK-LABEL:   wasmssa.func exported @div_u_i64_zero() -> i64 {100// CHECK:           %[[VAL_0:.*]] = wasmssa.const 10 : i64101// CHECK:           %[[VAL_1:.*]] = wasmssa.const 0 : i64102// CHECK:           %[[VAL_2:.*]] = wasmssa.div_ui %[[VAL_0]] %[[VAL_1]] : i64103// CHECK:           wasmssa.return %[[VAL_2]] : i64104 105// CHECK-LABEL:   wasmssa.func exported @div_s_i64() -> i64 {106// CHECK:           %[[VAL_0:.*]] = wasmssa.const 10 : i64107// CHECK:           %[[VAL_1:.*]] = wasmssa.const 2 : i64108// CHECK:           %[[VAL_2:.*]] = wasmssa.div_si %[[VAL_0]] %[[VAL_1]] : i64109// CHECK:           wasmssa.return %[[VAL_2]] : i64110 111// CHECK-LABEL:   wasmssa.func exported @div_s_i64_zero() -> i64 {112// CHECK:           %[[VAL_0:.*]] = wasmssa.const 10 : i64113// CHECK:           %[[VAL_1:.*]] = wasmssa.const 0 : i64114// CHECK:           %[[VAL_2:.*]] = wasmssa.div_si %[[VAL_0]] %[[VAL_1]] : i64115// CHECK:           wasmssa.return %[[VAL_2]] : i64116 117// CHECK-LABEL:   wasmssa.func exported @div_f32() -> f32 {118// CHECK:           %[[VAL_0:.*]] = wasmssa.const 1.000000e+01 : f32119// CHECK:           %[[VAL_1:.*]] = wasmssa.const 2.000000e+00 : f32120// CHECK:           %[[VAL_2:.*]] = wasmssa.div %[[VAL_0]] %[[VAL_1]] : f32121// CHECK:           wasmssa.return %[[VAL_2]] : f32122 123// CHECK-LABEL:   wasmssa.func exported @div_f64() -> f64 {124// CHECK:           %[[VAL_0:.*]] = wasmssa.const 1.000000e+01 : f64125// CHECK:           %[[VAL_1:.*]] = wasmssa.const 2.000000e+00 : f64126// CHECK:           %[[VAL_2:.*]] = wasmssa.div %[[VAL_0]] %[[VAL_1]] : f64127// CHECK:           wasmssa.return %[[VAL_2]] : f64128