Skip to content

Commit 139ece3

Browse files
Revert "[RISCV] Add scheduling information for Zba and Zbb to RISCVSchedSiFive7.td"
This commit was merged incorrectly. This reverts commit cd02b69.
1 parent 6fb70a8 commit 139ece3

File tree

1 file changed

+2
-208
lines changed

1 file changed

+2
-208
lines changed

llvm/lib/Target/RISCV/RISCVSchedSiFive7.td

Lines changed: 2 additions & 208 deletions
Original file line numberDiff line numberDiff line change
@@ -76,35 +76,6 @@ def : WriteRes<WriteIDiv32, [SiFive7PipeB, SiFive7IDiv]> {
7676
let ResourceCycles = [1, 15];
7777
}
7878

79-
// Bitmanip
80-
let Latency = 3 in {
81-
// Rotates are in the late-B ALU.
82-
def : WriteRes<WriteRotateImm, [SiFive7PipeB]>;
83-
def : WriteRes<WriteRotateImm32, [SiFive7PipeB]>;
84-
def : WriteRes<WriteRotateReg, [SiFive7PipeB]>;
85-
def : WriteRes<WriteRotateReg32, [SiFive7PipeB]>;
86-
87-
// clz[w]/ctz[w] are in the late-B ALU.
88-
def : WriteRes<WriteCLZ, [SiFive7PipeB]>;
89-
def : WriteRes<WriteCLZ32, [SiFive7PipeB]>;
90-
def : WriteRes<WriteCTZ, [SiFive7PipeB]>;
91-
def : WriteRes<WriteCTZ32, [SiFive7PipeB]>;
92-
93-
// cpop[w] look exactly like multiply.
94-
def : WriteRes<WriteCPOP, [SiFive7PipeB]>;
95-
def : WriteRes<WriteCPOP32, [SiFive7PipeB]>;
96-
97-
// orc.b is in the late-B ALU.
98-
def : WriteRes<WriteORCB, [SiFive7PipeB]>;
99-
100-
// rev8 is in the late-A and late-B ALUs.
101-
def : WriteRes<WriteREV8, [SiFive7PipeAB]>;
102-
103-
// shNadd[.uw] is on the early-B and late-B ALUs.
104-
def : WriteRes<WriteSHXADD, [SiFive7PipeB]>;
105-
def : WriteRes<WriteSHXADD32, [SiFive7PipeB]>;
106-
}
107-
10879
// Memory
10980
def : WriteRes<WriteSTB, [SiFive7PipeA]>;
11081
def : WriteRes<WriteSTH, [SiFive7PipeA]>;
@@ -308,188 +279,11 @@ def : ReadAdvance<ReadFClass64, 0>;
308279

309280
def : ReadAdvance<ReadSFB, 0>;
310281

311-
// 6. Configuration-Setting Instructions
312-
def : ReadAdvance<ReadVSETVLI, 2>;
313-
def : ReadAdvance<ReadVSETVL, 2>;
314-
315-
// 7. Vector Loads and Stores
316-
def : ReadAdvance<ReadVLDX, 0>;
317-
def : ReadAdvance<ReadVSTX, 0>;
318-
defm "" : LMULReadAdvance<"ReadVSTEV", 0>;
319-
defm "" : LMULReadAdvance<"ReadVSTM", 0>;
320-
def : ReadAdvance<ReadVLDSX, 0>;
321-
def : ReadAdvance<ReadVSTSX, 0>;
322-
defm "" : LMULReadAdvance<"ReadVSTS8V", 0>;
323-
defm "" : LMULReadAdvance<"ReadVSTS16V", 0>;
324-
defm "" : LMULReadAdvance<"ReadVSTS32V", 0>;
325-
defm "" : LMULReadAdvance<"ReadVSTS64V", 0>;
326-
defm "" : LMULReadAdvance<"ReadVLDUXV", 0>;
327-
defm "" : LMULReadAdvance<"ReadVLDOXV", 0>;
328-
defm "" : LMULReadAdvance<"ReadVSTUX8", 0>;
329-
defm "" : LMULReadAdvance<"ReadVSTUX16", 0>;
330-
defm "" : LMULReadAdvance<"ReadVSTUX32", 0>;
331-
defm "" : LMULReadAdvance<"ReadVSTUX64", 0>;
332-
defm "" : LMULReadAdvance<"ReadVSTUXV", 0>;
333-
defm "" : LMULReadAdvance<"ReadVSTUX8V", 0>;
334-
defm "" : LMULReadAdvance<"ReadVSTUX16V", 0>;
335-
defm "" : LMULReadAdvance<"ReadVSTUX32V", 0>;
336-
defm "" : LMULReadAdvance<"ReadVSTUX64V", 0>;
337-
defm "" : LMULReadAdvance<"ReadVSTOX8", 0>;
338-
defm "" : LMULReadAdvance<"ReadVSTOX16", 0>;
339-
defm "" : LMULReadAdvance<"ReadVSTOX32", 0>;
340-
defm "" : LMULReadAdvance<"ReadVSTOX64", 0>;
341-
defm "" : LMULReadAdvance<"ReadVSTOXV", 0>;
342-
defm "" : LMULReadAdvance<"ReadVSTOX8V", 0>;
343-
defm "" : LMULReadAdvance<"ReadVSTOX16V", 0>;
344-
defm "" : LMULReadAdvance<"ReadVSTOX32V", 0>;
345-
defm "" : LMULReadAdvance<"ReadVSTOX64V", 0>;
346-
// LMUL Aware
347-
def : ReadAdvance<ReadVST1R, 0>;
348-
def : ReadAdvance<ReadVST2R, 0>;
349-
def : ReadAdvance<ReadVST4R, 0>;
350-
def : ReadAdvance<ReadVST8R, 0>;
351-
352-
// 12. Vector Integer Arithmetic Instructions
353-
defm : LMULReadAdvance<"ReadVIALUV", 0>;
354-
defm : LMULReadAdvance<"ReadVIALUX", 0>;
355-
defm : LMULReadAdvanceW<"ReadVIWALUV", 0>;
356-
defm : LMULReadAdvanceW<"ReadVIWALUX", 0>;
357-
defm : LMULReadAdvance<"ReadVExtV", 0>;
358-
defm : LMULReadAdvance<"ReadVICALUV", 0>;
359-
defm : LMULReadAdvance<"ReadVICALUX", 0>;
360-
defm : LMULReadAdvance<"ReadVShiftV", 0>;
361-
defm : LMULReadAdvance<"ReadVShiftX", 0>;
362-
defm : LMULReadAdvanceW<"ReadVNShiftV", 0>;
363-
defm : LMULReadAdvanceW<"ReadVNShiftX", 0>;
364-
defm : LMULReadAdvance<"ReadVICmpV", 0>;
365-
defm : LMULReadAdvance<"ReadVICmpX", 0>;
366-
defm : LMULReadAdvance<"ReadVIMulV", 0>;
367-
defm : LMULReadAdvance<"ReadVIMulX", 0>;
368-
defm : LMULSEWReadAdvance<"ReadVIDivV", 0>;
369-
defm : LMULSEWReadAdvance<"ReadVIDivX", 0>;
370-
defm : LMULReadAdvanceW<"ReadVIWMulV", 0>;
371-
defm : LMULReadAdvanceW<"ReadVIWMulX", 0>;
372-
defm : LMULReadAdvance<"ReadVIMulAddV", 0>;
373-
defm : LMULReadAdvance<"ReadVIMulAddX", 0>;
374-
defm : LMULReadAdvanceW<"ReadVIWMulAddV", 0>;
375-
defm : LMULReadAdvanceW<"ReadVIWMulAddX", 0>;
376-
defm : LMULReadAdvance<"ReadVIMergeV", 0>;
377-
defm : LMULReadAdvance<"ReadVIMergeX", 0>;
378-
defm : LMULReadAdvance<"ReadVIMovV", 0>;
379-
defm : LMULReadAdvance<"ReadVIMovX", 0>;
380-
381-
// 13. Vector Fixed-Point Arithmetic Instructions
382-
defm "" : LMULReadAdvance<"ReadVSALUV", 0>;
383-
defm "" : LMULReadAdvance<"ReadVSALUX", 0>;
384-
defm "" : LMULReadAdvance<"ReadVAALUV", 0>;
385-
defm "" : LMULReadAdvance<"ReadVAALUX", 0>;
386-
defm "" : LMULReadAdvance<"ReadVSMulV", 0>;
387-
defm "" : LMULReadAdvance<"ReadVSMulX", 0>;
388-
defm "" : LMULReadAdvance<"ReadVSShiftV", 0>;
389-
defm "" : LMULReadAdvance<"ReadVSShiftX", 0>;
390-
defm "" : LMULReadAdvanceW<"ReadVNClipV", 0>;
391-
defm "" : LMULReadAdvanceW<"ReadVNClipX", 0>;
392-
393-
// 14. Vector Floating-Point Instructions
394-
defm "" : LMULReadAdvance<"ReadVFALUV", 0>;
395-
defm "" : LMULReadAdvance<"ReadVFALUF", 0>;
396-
defm "" : LMULReadAdvanceFW<"ReadVFWALUV", 0>;
397-
defm "" : LMULReadAdvanceFW<"ReadVFWALUF", 0>;
398-
defm "" : LMULReadAdvance<"ReadVFMulV", 0>;
399-
defm "" : LMULReadAdvance<"ReadVFMulF", 0>;
400-
defm "" : LMULSEWReadAdvanceF<"ReadVFDivV", 0>;
401-
defm "" : LMULSEWReadAdvanceF<"ReadVFDivF", 0>;
402-
defm "" : LMULReadAdvanceFW<"ReadVFWMulV", 0>;
403-
defm "" : LMULReadAdvanceFW<"ReadVFWMulF", 0>;
404-
defm "" : LMULReadAdvance<"ReadVFMulAddV", 0>;
405-
defm "" : LMULReadAdvance<"ReadVFMulAddF", 0>;
406-
defm "" : LMULReadAdvanceFW<"ReadVFWMulAddV", 0>;
407-
defm "" : LMULReadAdvanceFW<"ReadVFWMulAddF", 0>;
408-
defm "" : LMULSEWReadAdvanceF<"ReadVFSqrtV", 0>;
409-
defm "" : LMULReadAdvance<"ReadVFRecpV", 0>;
410-
defm "" : LMULReadAdvance<"ReadVFCmpV", 0>;
411-
defm "" : LMULReadAdvance<"ReadVFCmpF", 0>;
412-
defm "" : LMULReadAdvance<"ReadVFSgnjV", 0>;
413-
defm "" : LMULReadAdvance<"ReadVFSgnjF", 0>;
414-
defm "" : LMULReadAdvance<"ReadVFClassV", 0>;
415-
defm "" : LMULReadAdvance<"ReadVFMergeV", 0>;
416-
defm "" : LMULReadAdvance<"ReadVFMergeF", 0>;
417-
defm "" : LMULReadAdvance<"ReadVFMovF", 0>;
418-
defm "" : LMULReadAdvance<"ReadVFCvtIToFV", 0>;
419-
defm "" : LMULReadAdvance<"ReadVFCvtFToIV", 0>;
420-
defm "" : LMULReadAdvanceW<"ReadVFWCvtIToFV", 0>;
421-
defm "" : LMULReadAdvanceFW<"ReadVFWCvtFToIV", 0>;
422-
defm "" : LMULReadAdvanceFW<"ReadVFWCvtFToFV", 0>;
423-
defm "" : LMULReadAdvanceFW<"ReadVFNCvtIToFV", 0>;
424-
defm "" : LMULReadAdvanceW<"ReadVFNCvtFToIV", 0>;
425-
defm "" : LMULReadAdvanceFW<"ReadVFNCvtFToFV", 0>;
426-
427-
// 15. Vector Reduction Operations
428-
def : ReadAdvance<ReadVIRedV, 0>;
429-
def : ReadAdvance<ReadVIRedV0, 0>;
430-
def : ReadAdvance<ReadVIWRedV, 0>;
431-
def : ReadAdvance<ReadVIWRedV0, 0>;
432-
def : ReadAdvance<ReadVFRedV, 0>;
433-
def : ReadAdvance<ReadVFRedV0, 0>;
434-
def : ReadAdvance<ReadVFRedOV, 0>;
435-
def : ReadAdvance<ReadVFRedOV0, 0>;
436-
def : ReadAdvance<ReadVFWRedV, 0>;
437-
def : ReadAdvance<ReadVFWRedV0, 0>;
438-
def : ReadAdvance<ReadVFWRedOV, 0>;
439-
def : ReadAdvance<ReadVFWRedOV0, 0>;
440-
441-
// 16. Vector Mask Instructions
442-
defm "" : LMULReadAdvance<"ReadVMALUV", 0>;
443-
defm "" : LMULReadAdvance<"ReadVMPopV", 0>;
444-
defm "" : LMULReadAdvance<"ReadVMFFSV", 0>;
445-
defm "" : LMULReadAdvance<"ReadVMSFSV", 0>;
446-
defm "" : LMULReadAdvance<"ReadVMIotV", 0>;
447-
448-
// 17. Vector Permutation Instructions
449-
defm "" : LMULReadAdvance<"ReadVIMovVX", 0>;
450-
defm "" : LMULReadAdvance<"ReadVIMovXV", 0>;
451-
defm "" : LMULReadAdvance<"ReadVIMovXX", 0>;
452-
defm "" : LMULReadAdvance<"ReadVFMovVF", 0>;
453-
defm "" : LMULReadAdvance<"ReadVFMovFV", 0>;
454-
defm "" : LMULReadAdvance<"ReadVFMovFX", 0>;
455-
defm "" : LMULReadAdvance<"ReadVISlideV", 0>;
456-
defm "" : LMULReadAdvance<"ReadVISlideX", 0>;
457-
defm "" : LMULReadAdvance<"ReadVFSlideV", 0>;
458-
defm "" : LMULReadAdvance<"ReadVFSlideF", 0>;
459-
defm "" : LMULSEWReadAdvance<"ReadVRGatherVV_data", 0>;
460-
defm "" : LMULSEWReadAdvance<"ReadVRGatherVV_index", 0>;
461-
defm "" : LMULReadAdvance<"ReadVRGatherVX_data", 0>;
462-
defm "" : LMULReadAdvance<"ReadVRGatherVX_index", 0>;
463-
defm "" : LMULReadAdvance<"ReadVRGatherVI_data", 0>;
464-
defm "" : LMULSEWReadAdvance<"ReadVCompressV", 0>;
465-
// LMUL Aware
466-
def : ReadAdvance<ReadVMov1V, 0>;
467-
def : ReadAdvance<ReadVMov2V, 0>;
468-
def : ReadAdvance<ReadVMov4V, 0>;
469-
def : ReadAdvance<ReadVMov8V, 0>;
470-
471-
// Others
472-
def : ReadAdvance<ReadVMask, 0>;
473-
474-
// Bitmanip
475-
def : ReadAdvance<ReadRotateImm, 0>;
476-
def : ReadAdvance<ReadRotateImm32, 0>;
477-
def : ReadAdvance<ReadRotateReg, 0>;
478-
def : ReadAdvance<ReadRotateReg32, 0>;
479-
def : ReadAdvance<ReadCLZ, 0>;
480-
def : ReadAdvance<ReadCLZ32, 0>;
481-
def : ReadAdvance<ReadCTZ, 0>;
482-
def : ReadAdvance<ReadCTZ32, 0>;
483-
def : ReadAdvance<ReadCPOP, 0>;
484-
def : ReadAdvance<ReadCPOP32, 0>;
485-
def : ReadAdvance<ReadORCB, 0>;
486-
def : ReadAdvance<ReadREV8, 0>;
487-
def : ReadAdvance<ReadSHXADD, 0>;
488-
def : ReadAdvance<ReadSHXADD32, 0>;
489-
490282
//===----------------------------------------------------------------------===//
491283
// Unsupported extensions
492284
defm : UnsupportedSchedV;
285+
defm : UnsupportedSchedZba;
286+
defm : UnsupportedSchedZbb;
493287
defm : UnsupportedSchedZbc;
494288
defm : UnsupportedSchedZbs;
495289
defm : UnsupportedSchedZbkb;

0 commit comments

Comments
 (0)