brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · f6e1182 Raw
62 lines · plain
1// RUN: llvm-tblgen -gen-sd-node-info -I %p/../../../include %s | FileCheck %s2 3include "llvm/Target/Target.td"4 5def MyTarget : Target;6 7def M1 : HwMode<[]>;8def M2 : HwMode<[]>;9def M3 : HwMode<[]>;10 11def VT1 : ValueTypeByHwMode<[M1], [i1]>;12def VT2 : ValueTypeByHwMode<[M2], [i2]>;13def VT3 : ValueTypeByHwMode<[M1, M2, M3, DefaultMode], [i1, i2, i4, i8]>;14 15def my_node_1 : SDNode<16    "MyTargetISD::NODE_1",17    SDTypeProfile<0, 5, [18        SDTCVecEltisVT<0, VT3>,19        SDTCisVT<1, i1>,20        SDTCVecEltisVT<2, i2>,21        SDTCisVT<3, VT1>,22        SDTCVecEltisVT<4, VT2>,23    ]>24>;25 26def my_node_2 : SDNode<27    "MyTargetISD::NODE_2",28    SDTypeProfile<1, 2, [29        SDTCVecEltisVT<0, VT3>,30        SDTCisVT<1, i1>,31        SDTCVecEltisVT<2, i2>,32    ]>33>;34 35def my_node_3 : SDNode<36    "MyTargetISD::NODE_3",37    SDTypeProfile<1, 0, [38        SDTCisVT<0, VT3>,39    ]>40>;41 42// CHECK:       static const VTByHwModePair MyTargetVTByHwModeTable[] = {43// CHECK-NEXT:    /* 0 */ {0, MVT::i8}, {1, MVT::i1}, {2, MVT::i2}, {3, MVT::i4},44// CHECK-NEXT:    /* 4 */ {1, MVT::i1},45// CHECK-NEXT:    /* 5 */ {2, MVT::i2},46// CHECK-NEXT:  };47// CHECK-EMPTY:48// CHECK-NEXT:  static const SDTypeConstraint MyTargetSDTypeConstraints[] = {49// CHECK-NEXT:    /* 0 */ {SDTCisVT, 0, 0, 4, 0},50// CHECK-NEXT:    /* 1 */ {SDTCVecEltisVT, 4, 0, 1, 5},51// CHECK-SAME:            {SDTCisVT, 3, 0, 1, 4},52// CHECK-SAME:            {SDTCVecEltisVT, 2, 0, 0, MVT::i2},53// CHECK-SAME:            {SDTCisVT, 1, 0, 0, MVT::i1},54// CHECK-SAME:            {SDTCVecEltisVT, 0, 0, 4, 0},55// CHECK-NEXT:  };56// CHECK-EMPTY:57// CHECK-NEXT:  static const SDNodeDesc MyTargetSDNodeDescs[] = {58// CHECK-NEXT:      {0, 5, 0, 0, 0, 1, 1, 5}, // NODE_159// CHECK-NEXT:      {1, 2, 0, 0, 0, 21, 3, 3}, // NODE_260// CHECK-NEXT:      {1, 0, 0, 0, 0, 41, 0, 1}, // NODE_361// CHECK-NEXT:  };62