brintos

brintos / llvm-project-archived public Read only

0
0
Text · 982 B · e3c5355 Raw
23 lines · plain
1// Check that emulation of wery wide types (>64 bits) works as expected.2 3// RUN: mlir-opt --arith-emulate-wide-int="widest-int-supported=512" %s | FileCheck %s4 5// CHECK-LABEL: func.func @muli_scalar6// CHECK-SAME:    ([[ARG0:%.+]]: vector<2xi512>, [[ARG1:%.+]]: vector<2xi512>) -> vector<2xi512>7// CHECK-NEXT:    [[LOW0:%.+]]   = vector.extract [[ARG0]][0] : i512 from vector<2xi512>8// CHECK-NEXT:    [[HIGH0:%.+]]  = vector.extract [[ARG0]][1] : i512 from vector<2xi512>9// CHECK-NEXT:    [[LOW1:%.+]]   = vector.extract [[ARG1]][0] : i512 from vector<2xi512>10// CHECK-NEXT:    [[HIGH1:%.+]]  = vector.extract [[ARG1]][1] : i512 from vector<2xi512>11//12// CHECK-DAG:     arith.mului_extended13// CHECK-DAG:     arith.muli14// CHECK-DAG:     arith.muli15// CHECK-NEXT:    arith.addi16// CHECK-NEXT:    arith.addi17//18// CHECK:         return {{%.+}} : vector<2xi512>19func.func @muli_scalar(%a : i1024, %b : i1024) -> i1024 {20    %m = arith.muli %a, %b : i102421    return %m : i102422}23