hercules-390 / hyperion

Hercules 390
Other
252 stars 70 forks source link

Floating-point Extension Facility #34

Open ghost opened 10 years ago

ghost commented 10 years ago

Hyperion's implementation of the Floating-point Extension Facility is currently unfinished (it appears to only be half coded) whereas it appears to be fully implemented in spinhawk.

We need to bring over from spinhawk whatever functionality and/or instructions happen(s) to be missing in Hyperion to bring them into "alignment" with one another.

NOTE: This issue is dependent upon issue #33 being implemented beforehand (i.e. issue #33 is a prerequisite to this one).

srorso commented 8 years ago

Note: Spinhawk does not implement PFPO, which is currently part of the Floating Point Extension Facility. In the z/Arch POP -07, it was its own facility, but later POPs include it with FPEF.

srorso commented 8 years ago

This issue is dependent on issue #33: improve Softfloat Implementation. That issue, when closed, will provide support for all Binary Floating Point instructions added by the Floating Point Extension Facility.

srorso commented 8 years ago

This issue is dependent on issue #159: Improve Decimal Floating Point implementation. That issue, when closed, will provide support for all Decimal Floating Point instructions changed or added by the Floating Point Extension Facility.

srorso commented 7 years ago

There are 31 Binary Floating Point instructions included in the Floating Point Extensions Facility:

CDFBRA, CDGBRA, CDLFBR, CDLGBR, CEFBRA, CEGBRA, CELFBR, CELGBR, CFDBRA, CFEBRA, 
CFXBRA, CGDBRA, CGEBRA, CGXBRA, CLFDBR, CLFEBR, CLFXBR, CLGDBR, CLGEBR, CLGXBR, 
CXFBRA, CXGBRA, CXLFBR, CXLGBR, FIDBRA, FIEBRA, FIXBRA, LDXBRA,LEDBRA, LEXBRA, SRNMB.  

All have been implemented by implementation of SoftFloat 3a For Hercules, commited at 83f60bf and described in now-closed issue #33.

There are 24 Decimal Floating Point instructions included in the Floating Point Extensions Facility:

ADTRA, AXTRA, CDFTR, CDGTRA, CDLFTR, CDLGTR, CFDTR, CFXTR, CGDTRA, CGXTRA, CLFDTR, 
CLFXTR, CLGDTR, CLGXTR, CXFTR, CXGTRA, CXLFTR, CXLGTR, DDTRA, DXTRA, MDTRA, MXTRA, 
SDTRA, SXTRA, 

These will be addressed as part of work done for #159.