[PATCH] D154465: [PowerPC] Add DFP format instructions definitions and MC tests

Lei Huang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 13 13:22:58 PDT 2023


lei marked 2 inline comments as done.
lei added inline comments.


================
Comment at: llvm/lib/Target/PowerPC/PPCInstrDFP.td:104-107
+defm DXEX: XForm_26r<59, 354, (outs f8rc:$RST), (ins f8rc:$RB),
+                     "dxex", "$RST, $RB", IIC_FPGeneral, []>;
+defm DXEXQ: XForm_26r<63, 354, (outs f8rc:$RST), (ins fpairrc:$RB),
+                      "dxexq", "$RST, $RB", IIC_FPGeneral, []>;
----------------
lei wrote:
> kamaub wrote:
> > kamaub wrote:
> > > According to isa3.1 section. 5.6.7, only the first four instruction, encoding and decoding, may raise a floating point exception, these remaining ones need to moved outside of the `	} // mayRaiseFPException` brace I think.
> > I think we don't use these itineraries for these instructions at all right? Its still a bit odd to only apply the FPGeneral for the extract bias instructions only since all the others are also marked as "are treated as Floating-Point instructions in terms of resource availability.". Unless I misunderstood something about this instr specifically could you remove it here or apply it to each one, which ever you prefer.
> keeping the 2 instr that raises exceptions here and moving the rest below.
removing since we have no scheduling info currently for dfp instr.


================
Comment at: llvm/lib/Target/PowerPC/PPCInstrDFP.td:104-125
+defm DXEX: XForm_26r<59, 354, (outs f8rc:$RST), (ins f8rc:$RB),
+                     "dxex", "$RST, $RB", IIC_FPGeneral, []>;
+defm DXEXQ: XForm_26r<63, 354, (outs f8rc:$RST), (ins fpairrc:$RB),
+                      "dxexq", "$RST, $RB", IIC_FPGeneral, []>;
+defm DIEX: XForm_base_r3xo_r<59, 866, (outs f8rc:$RST),
+                             (ins f8rc:$RA, f8rc:$RB),
+                             "diex", "$RST, $RA, $RB", []>;
----------------
kamaub wrote:
> kamaub wrote:
> > According to isa3.1 section. 5.6.7, only the first four instruction, encoding and decoding, may raise a floating point exception, these remaining ones need to moved outside of the `	} // mayRaiseFPException` brace I think.
> I think we don't use these itineraries for these instructions at all right? Its still a bit odd to only apply the FPGeneral for the extract bias instructions only since all the others are also marked as "are treated as Floating-Point instructions in terms of resource availability.". Unless I misunderstood something about this instr specifically could you remove it here or apply it to each one, which ever you prefer.
keeping the 2 instr that raises exceptions here and moving the rest below.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D154465/new/

https://reviews.llvm.org/D154465



More information about the llvm-commits mailing list