Skip to content

Commit c88ee1a

Browse files
committed
[RISCV] Add UnsupportedSchedZfh multiclass to reduce duplicate lines from RISCVSchedRocket.td and RISCVSchedSiFive7.td. NFC
1 parent 1c268a8 commit c88ee1a

File tree

3 files changed

+48
-90
lines changed

3 files changed

+48
-90
lines changed

llvm/lib/Target/RISCV/RISCVSchedRocket.td

Lines changed: 1 addition & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -231,51 +231,7 @@ def : ReadAdvance<ReadFMovI64ToF64, 0>;
231231
def : ReadAdvance<ReadFClass32, 0>;
232232
def : ReadAdvance<ReadFClass64, 0>;
233233

234-
// Zfh is unsupported
235-
let Unsupported = true in {
236-
def : WriteRes<WriteFALU16, []>;
237-
def : WriteRes<WriteFClass16, []>;
238-
def : WriteRes<WriteFCvtF16ToF64, []>;
239-
def : WriteRes<WriteFCvtF64ToF16, []>;
240-
def : WriteRes<WriteFCvtI64ToF16, []>;
241-
def : WriteRes<WriteFCvtF32ToF16, []>;
242-
def : WriteRes<WriteFCvtI32ToF16, []>;
243-
def : WriteRes<WriteFCvtF16ToI64, []>;
244-
def : WriteRes<WriteFCvtF16ToF32, []>;
245-
def : WriteRes<WriteFCvtF16ToI32, []>;
246-
def : WriteRes<WriteFDiv16, []>;
247-
def : WriteRes<WriteFCmp16, []>;
248-
def : WriteRes<WriteFLD16, []>;
249-
def : WriteRes<WriteFMA16, []>;
250-
def : WriteRes<WriteFMinMax16, []>;
251-
def : WriteRes<WriteFMul16, []>;
252-
def : WriteRes<WriteFMovI16ToF16, []>;
253-
def : WriteRes<WriteFMovF16ToI16, []>;
254-
def : WriteRes<WriteFSGNJ16, []>;
255-
def : WriteRes<WriteFST16, []>;
256-
def : WriteRes<WriteFSqrt16, []>;
257-
258-
def : ReadAdvance<ReadFALU16, 0>;
259-
def : ReadAdvance<ReadFClass16, 0>;
260-
def : ReadAdvance<ReadFCvtF16ToF64, 0>;
261-
def : ReadAdvance<ReadFCvtF64ToF16, 0>;
262-
def : ReadAdvance<ReadFCvtI64ToF16, 0>;
263-
def : ReadAdvance<ReadFCvtF32ToF16, 0>;
264-
def : ReadAdvance<ReadFCvtI32ToF16, 0>;
265-
def : ReadAdvance<ReadFCvtF16ToI64, 0>;
266-
def : ReadAdvance<ReadFCvtF16ToF32, 0>;
267-
def : ReadAdvance<ReadFCvtF16ToI32, 0>;
268-
def : ReadAdvance<ReadFDiv16, 0>;
269-
def : ReadAdvance<ReadFCmp16, 0>;
270-
def : ReadAdvance<ReadFMA16, 0>;
271-
def : ReadAdvance<ReadFMinMax16, 0>;
272-
def : ReadAdvance<ReadFMul16, 0>;
273-
def : ReadAdvance<ReadFMovI16ToF16, 0>;
274-
def : ReadAdvance<ReadFMovF16ToI16, 0>;
275-
def : ReadAdvance<ReadFSGNJ16, 0>;
276-
def : ReadAdvance<ReadFSqrt16, 0>;
277-
} // Unsupported = true
278-
279234
defm : UnsupportedSchedZba;
280235
defm : UnsupportedSchedZbb;
236+
defm : UnsupportedSchedZfh;
281237
}

llvm/lib/Target/RISCV/RISCVSchedSiFive7.td

Lines changed: 1 addition & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -219,51 +219,7 @@ def : ReadAdvance<ReadFMovI64ToF64, 0>;
219219
def : ReadAdvance<ReadFClass32, 0>;
220220
def : ReadAdvance<ReadFClass64, 0>;
221221

222-
// Zfh is unsupported
223-
let Unsupported = true in {
224-
def : WriteRes<WriteFALU16, []>;
225-
def : WriteRes<WriteFClass16, []>;
226-
def : WriteRes<WriteFCvtF16ToF64, []>;
227-
def : WriteRes<WriteFCvtF64ToF16, []>;
228-
def : WriteRes<WriteFCvtI64ToF16, []>;
229-
def : WriteRes<WriteFCvtF32ToF16, []>;
230-
def : WriteRes<WriteFCvtI32ToF16, []>;
231-
def : WriteRes<WriteFCvtF16ToI64, []>;
232-
def : WriteRes<WriteFCvtF16ToF32, []>;
233-
def : WriteRes<WriteFCvtF16ToI32, []>;
234-
def : WriteRes<WriteFDiv16, []>;
235-
def : WriteRes<WriteFCmp16, []>;
236-
def : WriteRes<WriteFLD16, []>;
237-
def : WriteRes<WriteFMA16, []>;
238-
def : WriteRes<WriteFMinMax16, []>;
239-
def : WriteRes<WriteFMul16, []>;
240-
def : WriteRes<WriteFMovI16ToF16, []>;
241-
def : WriteRes<WriteFMovF16ToI16, []>;
242-
def : WriteRes<WriteFSGNJ16, []>;
243-
def : WriteRes<WriteFST16, []>;
244-
def : WriteRes<WriteFSqrt16, []>;
245-
246-
def : ReadAdvance<ReadFALU16, 0>;
247-
def : ReadAdvance<ReadFClass16, 0>;
248-
def : ReadAdvance<ReadFCvtF16ToF64, 0>;
249-
def : ReadAdvance<ReadFCvtF64ToF16, 0>;
250-
def : ReadAdvance<ReadFCvtI64ToF16, 0>;
251-
def : ReadAdvance<ReadFCvtF32ToF16, 0>;
252-
def : ReadAdvance<ReadFCvtI32ToF16, 0>;
253-
def : ReadAdvance<ReadFCvtF16ToI64, 0>;
254-
def : ReadAdvance<ReadFCvtF16ToF32, 0>;
255-
def : ReadAdvance<ReadFCvtF16ToI32, 0>;
256-
def : ReadAdvance<ReadFDiv16, 0>;
257-
def : ReadAdvance<ReadFCmp16, 0>;
258-
def : ReadAdvance<ReadFMA16, 0>;
259-
def : ReadAdvance<ReadFMinMax16, 0>;
260-
def : ReadAdvance<ReadFMul16, 0>;
261-
def : ReadAdvance<ReadFMovI16ToF16, 0>;
262-
def : ReadAdvance<ReadFMovF16ToI16, 0>;
263-
def : ReadAdvance<ReadFSGNJ16, 0>;
264-
def : ReadAdvance<ReadFSqrt16, 0>;
265-
} // Unsupported = true
266-
267222
defm : UnsupportedSchedZba;
268223
defm : UnsupportedSchedZbb;
224+
defm : UnsupportedSchedZfh;
269225
}

llvm/lib/Target/RISCV/RISCVSchedule.td

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,5 +182,51 @@ def ReadFClass16 : SchedRead;
182182
def ReadFClass32 : SchedRead;
183183
def ReadFClass64 : SchedRead;
184184

185+
multiclass UnsupportedSchedZfh {
186+
let Unsupported = true in {
187+
def : WriteRes<WriteFALU16, []>;
188+
def : WriteRes<WriteFClass16, []>;
189+
def : WriteRes<WriteFCvtF16ToF64, []>;
190+
def : WriteRes<WriteFCvtF64ToF16, []>;
191+
def : WriteRes<WriteFCvtI64ToF16, []>;
192+
def : WriteRes<WriteFCvtF32ToF16, []>;
193+
def : WriteRes<WriteFCvtI32ToF16, []>;
194+
def : WriteRes<WriteFCvtF16ToI64, []>;
195+
def : WriteRes<WriteFCvtF16ToF32, []>;
196+
def : WriteRes<WriteFCvtF16ToI32, []>;
197+
def : WriteRes<WriteFDiv16, []>;
198+
def : WriteRes<WriteFCmp16, []>;
199+
def : WriteRes<WriteFLD16, []>;
200+
def : WriteRes<WriteFMA16, []>;
201+
def : WriteRes<WriteFMinMax16, []>;
202+
def : WriteRes<WriteFMul16, []>;
203+
def : WriteRes<WriteFMovI16ToF16, []>;
204+
def : WriteRes<WriteFMovF16ToI16, []>;
205+
def : WriteRes<WriteFSGNJ16, []>;
206+
def : WriteRes<WriteFST16, []>;
207+
def : WriteRes<WriteFSqrt16, []>;
208+
209+
def : ReadAdvance<ReadFALU16, 0>;
210+
def : ReadAdvance<ReadFClass16, 0>;
211+
def : ReadAdvance<ReadFCvtF16ToF64, 0>;
212+
def : ReadAdvance<ReadFCvtF64ToF16, 0>;
213+
def : ReadAdvance<ReadFCvtI64ToF16, 0>;
214+
def : ReadAdvance<ReadFCvtF32ToF16, 0>;
215+
def : ReadAdvance<ReadFCvtI32ToF16, 0>;
216+
def : ReadAdvance<ReadFCvtF16ToI64, 0>;
217+
def : ReadAdvance<ReadFCvtF16ToF32, 0>;
218+
def : ReadAdvance<ReadFCvtF16ToI32, 0>;
219+
def : ReadAdvance<ReadFDiv16, 0>;
220+
def : ReadAdvance<ReadFCmp16, 0>;
221+
def : ReadAdvance<ReadFMA16, 0>;
222+
def : ReadAdvance<ReadFMinMax16, 0>;
223+
def : ReadAdvance<ReadFMul16, 0>;
224+
def : ReadAdvance<ReadFMovI16ToF16, 0>;
225+
def : ReadAdvance<ReadFMovF16ToI16, 0>;
226+
def : ReadAdvance<ReadFSGNJ16, 0>;
227+
def : ReadAdvance<ReadFSqrt16, 0>;
228+
} // Unsupported = true
229+
}
230+
185231
// Include the scheduler resources for other instruction extensions.
186232
include "RISCVScheduleB.td"

0 commit comments

Comments
 (0)