@@ -27,23 +27,25 @@ constexpr const MCSlotKind SLOTST(2);
2727constexpr const MCSlotKind SLOTLNG (3 );
2828
2929const MCSlotKind Slots[] = {
30- SLOTALU , SLOTMV , SLOTLNG , SLOTST , SLOTALU , SLOTMV , SLOTLNG , SLOTST ,
30+ SLOTALU , SLOTMV , SLOTLNG , SLOTST , SLOTALU , SLOTMV , SLOTST ,
3131};
3232
3333const VLIWFormat FormatData[] = {
34- {0b1100 , " ALUMV" , {&Slots[0 ], &Slots[2 ]}, 8 , 0b11 }, // in slotkind order
35- {0b0011 ,
36- " LNGST" ,
37- {&Slots[2 ], &Slots[4 ]},
38- 12 ,
39- 0b1100 }, // not in slotkind order
40- // Superslot, only use if necessary
41- {0b1111 , " ALL" , {&Slots[4 ], &Slots[8 ]}, 12 , 0b1111 },
34+ // in slotkind order
35+ {0b1100 , " ALUMV" , {&Slots[0 ], &Slots[2 ]}, 8 , 0b11 },
36+ // not in slotkind order
37+ {0b0011 , " LNGST" , {&Slots[2 ], &Slots[4 ]}, 12 , 0b1100 },
38+ {0b0111 , " SXM" , {&Slots[4 ], &Slots[7 ]}, 12 , 0x1110 },
39+
4240 {0 , nullptr , {}, 0 , 0 }};
4341const PacketFormats MyFormats{FormatData};
42+ static const bool FormatAvailable[] = {true , true , true , true , true , true ,
43+ true , true , true , false , false , false ,
44+ true , false , false , false };
4445
45- constexpr MCSlotInfo SlotInfos[4 ] = {{" ALU" , 1 , 0b0001 , 0b0001 , 0 },
46- {" MV" , 1 , 0b0010 , 0b0010 , 0 },
46+ // Note: conflict bits are not used in this test
47+ constexpr MCSlotInfo SlotInfos[4 ] = {{" ALU" , 1 , 0b0001 , 0b1001 , 0 },
48+ {" MV" , 1 , 0b0010 , 0b1010 , 0 },
4749 {" ST" , 1 , 0b0100 , 0b0100 , 0 },
4850 {" LNG" , 1 , 0b1000 , 0b1000 , 0 }};
4951
@@ -100,7 +102,7 @@ class MockMCFormats : public AIEBaseMCFormats {
100102 llvm_unreachable (" Un-implemented" );
101103 }
102104 ArrayRef<bool > getIsFormatAvailable () const override {
103- llvm_unreachable ( " Un-implemented " ) ;
105+ return FormatAvailable ;
104106 }
105107};
106108
0 commit comments