diff options
Diffstat (limited to 'llvm/lib/Target/Mips/MipsScheduleP5600.td')
-rw-r--r-- | llvm/lib/Target/Mips/MipsScheduleP5600.td | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/Mips/MipsScheduleP5600.td b/llvm/lib/Target/Mips/MipsScheduleP5600.td index 7331917baa25..3d159d412489 100644 --- a/llvm/lib/Target/Mips/MipsScheduleP5600.td +++ b/llvm/lib/Target/Mips/MipsScheduleP5600.td @@ -20,7 +20,8 @@ def MipsP5600Model : SchedMachineModel { IsGP64bit, IsPTR64bit, InMicroMips, InMips16Mode, HasCnMips, HasCnMipsP, - HasDSP, HasDSPR2, HasMT, HasCRC]; + HasDSP, HasDSPR2, HasMips3D, HasMT, + HasCRC]; } let SchedModel = MipsP5600Model in { @@ -457,7 +458,7 @@ def : InstRW<[P5600WriteFPUL], (instrs CVT_PS_S64, CVT_S_PL64, CVT_S_PU64)>; def : InstRW<[P5600WriteFPUL], (instregex "^C_[A-Z]+_(S|D32|D64)$")>; def : InstRW<[P5600WriteFPUL], (instregex "^FCMP_(S32|D32|D64)$")>; def : InstRW<[P5600WriteFPUL], (instregex "^PseudoCVT_(S|D32|D64)_(L|W)$")>; -def : InstRW<[P5600WriteFPUL], (instrs PLL_PS64, PLU_PS64)>; +def : InstRW<[P5600WriteFPUL], (instrs PLL_PS64, PLU_PS64, PUL_PS64, PUU_PS64)>; // div.[ds], div.ps def : InstRW<[P5600WriteFPUDivS], (instrs FDIV_S)>; |