forked from OSchip/llvm-project
[RISCV] Add UnsupportedSchedZfh multiclass to reduce duplicate lines from RISCVSchedRocket.td and RISCVSchedSiFive7.td. NFC
This commit is contained in:
parent
1c268a8ff4
commit
c88ee1a094
|
@ -231,51 +231,7 @@ def : ReadAdvance<ReadFMovI64ToF64, 0>;
|
||||||
def : ReadAdvance<ReadFClass32, 0>;
|
def : ReadAdvance<ReadFClass32, 0>;
|
||||||
def : ReadAdvance<ReadFClass64, 0>;
|
def : ReadAdvance<ReadFClass64, 0>;
|
||||||
|
|
||||||
// Zfh is unsupported
|
|
||||||
let Unsupported = true in {
|
|
||||||
def : WriteRes<WriteFALU16, []>;
|
|
||||||
def : WriteRes<WriteFClass16, []>;
|
|
||||||
def : WriteRes<WriteFCvtF16ToF64, []>;
|
|
||||||
def : WriteRes<WriteFCvtF64ToF16, []>;
|
|
||||||
def : WriteRes<WriteFCvtI64ToF16, []>;
|
|
||||||
def : WriteRes<WriteFCvtF32ToF16, []>;
|
|
||||||
def : WriteRes<WriteFCvtI32ToF16, []>;
|
|
||||||
def : WriteRes<WriteFCvtF16ToI64, []>;
|
|
||||||
def : WriteRes<WriteFCvtF16ToF32, []>;
|
|
||||||
def : WriteRes<WriteFCvtF16ToI32, []>;
|
|
||||||
def : WriteRes<WriteFDiv16, []>;
|
|
||||||
def : WriteRes<WriteFCmp16, []>;
|
|
||||||
def : WriteRes<WriteFLD16, []>;
|
|
||||||
def : WriteRes<WriteFMA16, []>;
|
|
||||||
def : WriteRes<WriteFMinMax16, []>;
|
|
||||||
def : WriteRes<WriteFMul16, []>;
|
|
||||||
def : WriteRes<WriteFMovI16ToF16, []>;
|
|
||||||
def : WriteRes<WriteFMovF16ToI16, []>;
|
|
||||||
def : WriteRes<WriteFSGNJ16, []>;
|
|
||||||
def : WriteRes<WriteFST16, []>;
|
|
||||||
def : WriteRes<WriteFSqrt16, []>;
|
|
||||||
|
|
||||||
def : ReadAdvance<ReadFALU16, 0>;
|
|
||||||
def : ReadAdvance<ReadFClass16, 0>;
|
|
||||||
def : ReadAdvance<ReadFCvtF16ToF64, 0>;
|
|
||||||
def : ReadAdvance<ReadFCvtF64ToF16, 0>;
|
|
||||||
def : ReadAdvance<ReadFCvtI64ToF16, 0>;
|
|
||||||
def : ReadAdvance<ReadFCvtF32ToF16, 0>;
|
|
||||||
def : ReadAdvance<ReadFCvtI32ToF16, 0>;
|
|
||||||
def : ReadAdvance<ReadFCvtF16ToI64, 0>;
|
|
||||||
def : ReadAdvance<ReadFCvtF16ToF32, 0>;
|
|
||||||
def : ReadAdvance<ReadFCvtF16ToI32, 0>;
|
|
||||||
def : ReadAdvance<ReadFDiv16, 0>;
|
|
||||||
def : ReadAdvance<ReadFCmp16, 0>;
|
|
||||||
def : ReadAdvance<ReadFMA16, 0>;
|
|
||||||
def : ReadAdvance<ReadFMinMax16, 0>;
|
|
||||||
def : ReadAdvance<ReadFMul16, 0>;
|
|
||||||
def : ReadAdvance<ReadFMovI16ToF16, 0>;
|
|
||||||
def : ReadAdvance<ReadFMovF16ToI16, 0>;
|
|
||||||
def : ReadAdvance<ReadFSGNJ16, 0>;
|
|
||||||
def : ReadAdvance<ReadFSqrt16, 0>;
|
|
||||||
} // Unsupported = true
|
|
||||||
|
|
||||||
defm : UnsupportedSchedZba;
|
defm : UnsupportedSchedZba;
|
||||||
defm : UnsupportedSchedZbb;
|
defm : UnsupportedSchedZbb;
|
||||||
|
defm : UnsupportedSchedZfh;
|
||||||
}
|
}
|
||||||
|
|
|
@ -219,51 +219,7 @@ def : ReadAdvance<ReadFMovI64ToF64, 0>;
|
||||||
def : ReadAdvance<ReadFClass32, 0>;
|
def : ReadAdvance<ReadFClass32, 0>;
|
||||||
def : ReadAdvance<ReadFClass64, 0>;
|
def : ReadAdvance<ReadFClass64, 0>;
|
||||||
|
|
||||||
// Zfh is unsupported
|
|
||||||
let Unsupported = true in {
|
|
||||||
def : WriteRes<WriteFALU16, []>;
|
|
||||||
def : WriteRes<WriteFClass16, []>;
|
|
||||||
def : WriteRes<WriteFCvtF16ToF64, []>;
|
|
||||||
def : WriteRes<WriteFCvtF64ToF16, []>;
|
|
||||||
def : WriteRes<WriteFCvtI64ToF16, []>;
|
|
||||||
def : WriteRes<WriteFCvtF32ToF16, []>;
|
|
||||||
def : WriteRes<WriteFCvtI32ToF16, []>;
|
|
||||||
def : WriteRes<WriteFCvtF16ToI64, []>;
|
|
||||||
def : WriteRes<WriteFCvtF16ToF32, []>;
|
|
||||||
def : WriteRes<WriteFCvtF16ToI32, []>;
|
|
||||||
def : WriteRes<WriteFDiv16, []>;
|
|
||||||
def : WriteRes<WriteFCmp16, []>;
|
|
||||||
def : WriteRes<WriteFLD16, []>;
|
|
||||||
def : WriteRes<WriteFMA16, []>;
|
|
||||||
def : WriteRes<WriteFMinMax16, []>;
|
|
||||||
def : WriteRes<WriteFMul16, []>;
|
|
||||||
def : WriteRes<WriteFMovI16ToF16, []>;
|
|
||||||
def : WriteRes<WriteFMovF16ToI16, []>;
|
|
||||||
def : WriteRes<WriteFSGNJ16, []>;
|
|
||||||
def : WriteRes<WriteFST16, []>;
|
|
||||||
def : WriteRes<WriteFSqrt16, []>;
|
|
||||||
|
|
||||||
def : ReadAdvance<ReadFALU16, 0>;
|
|
||||||
def : ReadAdvance<ReadFClass16, 0>;
|
|
||||||
def : ReadAdvance<ReadFCvtF16ToF64, 0>;
|
|
||||||
def : ReadAdvance<ReadFCvtF64ToF16, 0>;
|
|
||||||
def : ReadAdvance<ReadFCvtI64ToF16, 0>;
|
|
||||||
def : ReadAdvance<ReadFCvtF32ToF16, 0>;
|
|
||||||
def : ReadAdvance<ReadFCvtI32ToF16, 0>;
|
|
||||||
def : ReadAdvance<ReadFCvtF16ToI64, 0>;
|
|
||||||
def : ReadAdvance<ReadFCvtF16ToF32, 0>;
|
|
||||||
def : ReadAdvance<ReadFCvtF16ToI32, 0>;
|
|
||||||
def : ReadAdvance<ReadFDiv16, 0>;
|
|
||||||
def : ReadAdvance<ReadFCmp16, 0>;
|
|
||||||
def : ReadAdvance<ReadFMA16, 0>;
|
|
||||||
def : ReadAdvance<ReadFMinMax16, 0>;
|
|
||||||
def : ReadAdvance<ReadFMul16, 0>;
|
|
||||||
def : ReadAdvance<ReadFMovI16ToF16, 0>;
|
|
||||||
def : ReadAdvance<ReadFMovF16ToI16, 0>;
|
|
||||||
def : ReadAdvance<ReadFSGNJ16, 0>;
|
|
||||||
def : ReadAdvance<ReadFSqrt16, 0>;
|
|
||||||
} // Unsupported = true
|
|
||||||
|
|
||||||
defm : UnsupportedSchedZba;
|
defm : UnsupportedSchedZba;
|
||||||
defm : UnsupportedSchedZbb;
|
defm : UnsupportedSchedZbb;
|
||||||
|
defm : UnsupportedSchedZfh;
|
||||||
}
|
}
|
||||||
|
|
|
@ -182,5 +182,51 @@ def ReadFClass16 : SchedRead;
|
||||||
def ReadFClass32 : SchedRead;
|
def ReadFClass32 : SchedRead;
|
||||||
def ReadFClass64 : SchedRead;
|
def ReadFClass64 : SchedRead;
|
||||||
|
|
||||||
|
multiclass UnsupportedSchedZfh {
|
||||||
|
let Unsupported = true in {
|
||||||
|
def : WriteRes<WriteFALU16, []>;
|
||||||
|
def : WriteRes<WriteFClass16, []>;
|
||||||
|
def : WriteRes<WriteFCvtF16ToF64, []>;
|
||||||
|
def : WriteRes<WriteFCvtF64ToF16, []>;
|
||||||
|
def : WriteRes<WriteFCvtI64ToF16, []>;
|
||||||
|
def : WriteRes<WriteFCvtF32ToF16, []>;
|
||||||
|
def : WriteRes<WriteFCvtI32ToF16, []>;
|
||||||
|
def : WriteRes<WriteFCvtF16ToI64, []>;
|
||||||
|
def : WriteRes<WriteFCvtF16ToF32, []>;
|
||||||
|
def : WriteRes<WriteFCvtF16ToI32, []>;
|
||||||
|
def : WriteRes<WriteFDiv16, []>;
|
||||||
|
def : WriteRes<WriteFCmp16, []>;
|
||||||
|
def : WriteRes<WriteFLD16, []>;
|
||||||
|
def : WriteRes<WriteFMA16, []>;
|
||||||
|
def : WriteRes<WriteFMinMax16, []>;
|
||||||
|
def : WriteRes<WriteFMul16, []>;
|
||||||
|
def : WriteRes<WriteFMovI16ToF16, []>;
|
||||||
|
def : WriteRes<WriteFMovF16ToI16, []>;
|
||||||
|
def : WriteRes<WriteFSGNJ16, []>;
|
||||||
|
def : WriteRes<WriteFST16, []>;
|
||||||
|
def : WriteRes<WriteFSqrt16, []>;
|
||||||
|
|
||||||
|
def : ReadAdvance<ReadFALU16, 0>;
|
||||||
|
def : ReadAdvance<ReadFClass16, 0>;
|
||||||
|
def : ReadAdvance<ReadFCvtF16ToF64, 0>;
|
||||||
|
def : ReadAdvance<ReadFCvtF64ToF16, 0>;
|
||||||
|
def : ReadAdvance<ReadFCvtI64ToF16, 0>;
|
||||||
|
def : ReadAdvance<ReadFCvtF32ToF16, 0>;
|
||||||
|
def : ReadAdvance<ReadFCvtI32ToF16, 0>;
|
||||||
|
def : ReadAdvance<ReadFCvtF16ToI64, 0>;
|
||||||
|
def : ReadAdvance<ReadFCvtF16ToF32, 0>;
|
||||||
|
def : ReadAdvance<ReadFCvtF16ToI32, 0>;
|
||||||
|
def : ReadAdvance<ReadFDiv16, 0>;
|
||||||
|
def : ReadAdvance<ReadFCmp16, 0>;
|
||||||
|
def : ReadAdvance<ReadFMA16, 0>;
|
||||||
|
def : ReadAdvance<ReadFMinMax16, 0>;
|
||||||
|
def : ReadAdvance<ReadFMul16, 0>;
|
||||||
|
def : ReadAdvance<ReadFMovI16ToF16, 0>;
|
||||||
|
def : ReadAdvance<ReadFMovF16ToI16, 0>;
|
||||||
|
def : ReadAdvance<ReadFSGNJ16, 0>;
|
||||||
|
def : ReadAdvance<ReadFSqrt16, 0>;
|
||||||
|
} // Unsupported = true
|
||||||
|
}
|
||||||
|
|
||||||
// Include the scheduler resources for other instruction extensions.
|
// Include the scheduler resources for other instruction extensions.
|
||||||
include "RISCVScheduleB.td"
|
include "RISCVScheduleB.td"
|
||||||
|
|
Loading…
Reference in New Issue