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<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 : UnsupportedSchedZbb;
|
||||
defm : UnsupportedSchedZfh;
|
||||
}
|
||||
|
|
|
@ -219,51 +219,7 @@ def : ReadAdvance<ReadFMovI64ToF64, 0>;
|
|||
def : ReadAdvance<ReadFClass32, 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 : UnsupportedSchedZbb;
|
||||
defm : UnsupportedSchedZfh;
|
||||
}
|
||||
|
|
|
@ -182,5 +182,51 @@ def ReadFClass16 : SchedRead;
|
|||
def ReadFClass32 : 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 "RISCVScheduleB.td"
|
||||
|
|
Loading…
Reference in New Issue