Cell software development: Difference between revisions

Content deleted Content added
Differences between VMX and SPU: copyedit a bit, but this is mostly garbage
Line 20:
===Adapting VMX for SPU===
====Differences between VMX and SPU====
The [[VMX]] (Vector Multimedia Extensions) technology is conceptually similar to the [[vector model]] provided by the [[SPU processors]], but there are many significant differences.
 
{| class="wikitable" style="margin: 1em auto 1em auto"
Line 34:
|-
! register width
| 128 -bit quadword <!-- p.28/333 --> || 128 -bit quadword
|-
! [[integer]] formats
Line 52:
|}
 
The VMX ''[[Java (programming language)|Java]] mode'' conforms to the [[Java Language Specification]] 1 subset of the default [[IEEE Standard]], extended to include IEEE and [[C99|C9X]] compliance where the Java standard falls silent. In a typical implementation, non-javaJava mode converts [[denormal]] values to zero but javaJava mode traps into an emulator when the [[processor (computer science)|processor]] encounters such a value. ''Non-Java mode'' might or might not be faster, might or might not be non-compliant.
 
The IBM ''PPE Vector/SIMD manual'' does not define operations for double -precision floating point, though IBM has published material implying certain double -precision performance numbers associated with the Cell PPE VMX technology.
Quadword (ie Four times a 32 bit word or 128 bits) alignment is on 16 Byte (128 bit) boundaries (ie the low four address bits are zero).
 
The IBM ''PPE Vector/SIMD manual'' does not define operations for double precision floating point, though IBM has published material implying certain double precision performance numbers associated with the Cell PPE VMX technology.
 
====Intrinsics====