MFFS: Move From FPSCR.
MTFSF: Move To FPSCR Fields under control masks.
LLVM currently doesn't model these bits well. Setting hasSideEffects prevents may-raise-exception FP instructions scheduled across MFFS/MTFSF.
| Paths 
 |  Differential  D84729  
[PowerPC] Set hasSideEffects for MFFS and MTFSF AbandonedPublic Authored by qiucf on Jul 27 2020, 11:36 PM. 
Details 
 Summary MFFS: Move From FPSCR. MTFSF: Move To FPSCR Fields under control masks. LLVM currently doesn't model these bits well. Setting hasSideEffects prevents may-raise-exception FP instructions scheduled across MFFS/MTFSF. 
Diff Detail Event TimelineHarbormaster returned this revision to the author for changes because remote builds failed.Jul 28 2020, 12:46 AM Comment Actions Please adding a scheduling test(i.e. checking the dependency between MFFS and floating operations) to show your change fixing what you want. 
 Comment Actions Ah, setting them as scheduling boundary seems a better approach. I'll abandon this patch to create new one. 
Revision Contents 
 
Diff 281457 llvm/lib/Target/PowerPC/PPCInstrInfo.tdllvm/test/CodeGen/PowerPC/2008-10-28-f128-i32.ll
 llvm/test/CodeGen/PowerPC/fpscr-barrier.ll
 
 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Please add necessary comments here to indicate why we want to set this flag for the read instr.