mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-04 14:01:25 +12:00
added OE bit description
parent
921835ca5f
commit
551c05af86
1 changed files with 7 additions and 2 deletions
|
@ -14,7 +14,6 @@ Best wishes and happy coding!
|
|||
* [SPU Assembly Language Specification (Version 1.7 / July 18, 2008)](https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/EFA2B196893B550787257060006FC9FB/$file/SPU_Assembly_Language_Specification_1.7.pdf)
|
||||
* [SPU Instruction Set Architecture (Version 1.2 / January 27, 2007)](http://cell.scei.co.jp/pdf/SPU_ISA_v12.pdf)
|
||||
|
||||
|
||||
### RSX
|
||||
* RSX Commands: [http://www.psdevwiki.com/ps3/RSXFIFOCommands](http://www.psdevwiki.com/ps3/RSXFIFOCommands) (Partially incomplete)
|
||||
* Ask other developers.
|
||||
|
@ -37,4 +36,10 @@ Checked with [PSL1GHT](http://psl1ght.com).
|
|||
* `sizeof(long)` = 4
|
||||
* `sizeof(long long)` = 8
|
||||
* `sizeof(size_t)` = 4
|
||||
* `sizeof(void*)` = 4
|
||||
* `sizeof(void*)` = 4
|
||||
|
||||
####OE bit
|
||||
Some instructions contain an optional `OE`(overflow excpetion) flag. We currently do not implement those versions of the instructions. For example we emulate `add, addze, subfme` but not `addo, addzeo, subfmo` which are just the prior operations with the `OE` flag set.
|
||||
|
||||
This flag writes to the `OV` and `SO` (overflow and summary overflow) bits of the XER (Fixed-Point Exception Register) register. The reason why it's not implemented is that the [GCC code emitter](http://repo.or.cz/w/official-gcc.git/blob_plain/c2c80e70905bc2e5dedf8352588fc8cb10e3ec7d:/gcc/config/rs6000/rs6000.md) does not use these instructions and so we haven't found any PS3 software that uses it. If we find some software that has some handwritten assembly that use those instructions we'll need to implement it (or just for completeness). A good reference for XER bits can be found in [PowerPC Microprocessor Family: The Programmer's Reference Guide ](https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF778525699600741775) chapter 1.3 and other linked references.
|
||||
For the implementation of the interpreter it would probably be best to refrain from x86 assembly or compiler intrinsics like `__readeflags` to determine a overflow. Probably something from the [answers to this SO question](http://stackoverflow.com/questions/199333/best-way-to-detect-integer-overflow-in-c-c) is what we should consider
|
Loading…
Add table
Add a link
Reference in a new issue