brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.1 KiB · 9850f33 Raw
192 lines · plain
1// RUN: mlir-opt -split-input-file -convert-arith-to-emitc -verify-diagnostics %s2 3func.func @arith_cast_tensor(%arg0: tensor<5xf32>) -> tensor<5xi32> {4  // expected-error @+1 {{failed to legalize operation 'arith.fptosi'}}5  %t = arith.fptosi %arg0 : tensor<5xf32> to tensor<5xi32>6  return %t: tensor<5xi32>7}8 9// -----10 11func.func @arith_cast_vector(%arg0: vector<5xf32>) -> vector<5xi32> {12  // expected-error @+1 {{failed to legalize operation 'arith.fptosi'}}13  %t = arith.fptosi %arg0 : vector<5xf32> to vector<5xi32>14  return %t: vector<5xi32>15}16 17// -----18func.func @arith_cast_f80(%arg0: f80) -> i32 {19  // expected-error @+1 {{failed to legalize operation 'arith.fptosi'}}20  %t = arith.fptosi %arg0 : f80 to i3221  return %t: i3222}23 24// -----25 26func.func @arith_cast_f128(%arg0: f128) -> i32 {27  // expected-error @+1 {{failed to legalize operation 'arith.fptosi'}}28  %t = arith.fptosi %arg0 : f128 to i3229  return %t: i3230}31 32 33// -----34 35func.func @arith_cast_to_f80(%arg0: i32) -> f80 {36  // expected-error @+1 {{failed to legalize operation 'arith.sitofp'}}37  %t = arith.sitofp %arg0 : i32 to f8038  return %t: f8039}40 41// -----42 43func.func @arith_cast_to_f128(%arg0: i32) -> f128 {44  // expected-error @+1 {{failed to legalize operation 'arith.sitofp'}}45  %t = arith.sitofp %arg0 : i32 to f12846  return %t: f12847}48 49// -----50 51func.func @arith_cast_fptosi_i1(%arg0: f32) -> i1 {52  // expected-error @+1 {{failed to legalize operation 'arith.fptosi'}}53  %t = arith.fptosi %arg0 : f32 to i154  return %t: i155}56 57// -----58 59func.func @arith_cast_fptoui_i1(%arg0: f32) -> i1 {60  // expected-error @+1 {{failed to legalize operation 'arith.fptoui'}}61  %t = arith.fptoui %arg0 : f32 to i162  return %t: i163}64 65// -----66 67func.func @arith_cmpf_vector(%arg0: vector<5xf32>, %arg1: vector<5xf32>) -> vector<5xi1> {68  // expected-error @+1 {{failed to legalize operation 'arith.cmpf'}}69  %t = arith.cmpf uno, %arg0, %arg1 : vector<5xf32>70  return %t: vector<5xi1>71}72 73// -----74 75func.func @arith_cmpf_tensor(%arg0: tensor<5xf32>, %arg1: tensor<5xf32>) -> tensor<5xi1> {76  // expected-error @+1 {{failed to legalize operation 'arith.cmpf'}}77  %t = arith.cmpf uno, %arg0, %arg1 : tensor<5xf32>78  return %t: tensor<5xi1>79}80 81// -----82 83func.func @arith_negf_f80(%arg0: f80) -> f80 {84  // expected-error @+1 {{failed to legalize operation 'arith.negf'}}85  %n = arith.negf %arg0 : f8086  return %n: f8087}88 89// -----90 91func.func @arith_negf_tensor(%arg0: tensor<5xf32>) -> tensor<5xf32> {92  // expected-error @+1 {{failed to legalize operation 'arith.negf'}}93  %n = arith.negf %arg0 : tensor<5xf32>94  return %n: tensor<5xf32>95}96 97// -----98 99func.func @arith_negf_vector(%arg0: vector<5xf32>) -> vector<5xf32> {100  // expected-error @+1 {{failed to legalize operation 'arith.negf'}}101  %n = arith.negf %arg0 : vector<5xf32>102  return %n: vector<5xf32>103}104 105// -----106 107func.func @arith_extsi_i1_to_i32(%arg0: i1) {108  // expected-error @+1 {{failed to legalize operation 'arith.extsi'}}109  %idx = arith.extsi %arg0 : i1 to i32110  return111}112 113// -----114 115func.func @arith_shli_i1(%arg0: i1, %arg1: i1) {116  // expected-error @+1 {{failed to legalize operation 'arith.shli'}}117  %shli = arith.shli %arg0, %arg1 : i1118  return119}120 121// -----122 123func.func @arith_shrsi_i1(%arg0: i1, %arg1: i1) {124  // expected-error @+1 {{failed to legalize operation 'arith.shrsi'}}125  %shrsi = arith.shrsi %arg0, %arg1 : i1126  return127}128 129// -----130 131func.func @arith_shrui_i1(%arg0: i1, %arg1: i1) {132  // expected-error @+1 {{failed to legalize operation 'arith.shrui'}}133  %shrui = arith.shrui %arg0, %arg1 : i1134  return135}136 137// -----138 139func.func @arith_divui_vector(%arg0: vector<5xi32>, %arg1: vector<5xi32>) -> vector<5xi32> {140  // expected-error @+1 {{failed to legalize operation 'arith.divui'}}141  %divui = arith.divui %arg0, %arg1 : vector<5xi32>142  return %divui: vector<5xi32>143}144 145// -----146 147func.func @arith_remui_vector(%arg0: vector<5xi32>, %arg1: vector<5xi32>) -> vector<5xi32> {148  // expected-error @+1 {{failed to legalize operation 'arith.remui'}}149  %divui = arith.remui %arg0, %arg1 : vector<5xi32>150  return %divui: vector<5xi32>151}152 153// -----154 155func.func @arith_truncf(%arg0: f64) -> f32 {156  // expected-error @+1 {{failed to legalize operation 'arith.truncf'}}157  %truncd = arith.truncf %arg0 to_nearest_away : f64 to f32158  return %truncd : f32159}160 161// -----162 163func.func @arith_extf_f128(%arg0: f32) -> f128 {164  // expected-error @+1 {{failed to legalize operation 'arith.extf'}}165  %extd = arith.extf %arg0 : f32 to f128166  return %extd : f128167}168 169// -----170 171func.func @arith_truncf_f128(%arg0: f128) -> f32 {172  // expected-error @+1 {{failed to legalize operation 'arith.truncf'}}173  %truncd = arith.truncf %arg0 : f128 to f32174  return %truncd : f32175}176 177// -----178 179func.func @arith_extf_vector(%arg0: vector<4xf32>) -> vector<4xf64> {180  // expected-error @+1 {{failed to legalize operation 'arith.extf'}}181  %extd = arith.extf %arg0 : vector<4xf32> to vector<4xf64>182  return %extd : vector<4xf64>183}184 185// -----186 187func.func @arith_truncf_vector(%arg0: vector<4xf64>) -> vector<4xf32> {188  // expected-error @+1 {{failed to legalize operation 'arith.truncf'}}189  %truncd = arith.truncf %arg0 : vector<4xf64> to vector<4xf32>190  return %truncd : vector<4xf32>191}192