C/c++ language extensions for cbe architecture – Sony VERSION 1.0 User Manual

Page 9

Advertising
background image

Guide to Cell/B.E. Programming Documentation

© 2008 Sony Computer Entertainment Inc. All Rights Reserved.

Version 1.0, August 2008

Page 9 of 16

C/C++ Language Extensions for CBE Architecture

Cell Broadband Engine Public Information and Downloads

http://cell.scei.co.jp/e_download.html

Length

150 pages.

Audience

C/C++ application and system programmers.

Content

Extensions (intrinsics) to the C and C++ languages that allow software developers to access hardware features not
accessible (or not easily accessible) from C or C++. The extensions allow SIMD and other applications to obtain PPE or
SPE performance comparable to assembly-language programs. The document also includes function specifications to
facilitate communication between SPEs and the PPE, and it lists a minimal set of standard library functions that must
be provided as part of a standard SPE programming environment.

Recommended Use

Browse during first readings of the

CBE Programming Handbook

, and refer to it thereafter as needed during coding of

applications for the PPE or SPEs.

Document Sections

The document has the following sections:

1. Data Types and Programming Directives: PPU vector/SIMD multimedia extension and SPU vector data types,

operations on these data types, programming directives, and predefined macro target definitions.

2. SPU Low-Level Specific and Generic Intrinsics: The basic intrinsics and built-ins that make the underlying SPU ISA

and SPE hardware accessible from the C programming language.

3. Composite Intrinsics: Intrinsics that can be constructed from a series of low-level (generic or specific) intrinsics.

4. Programming Support for MFC Input and Output: Utility functions implemented either as macro definitions or built-

in functions that support MFC input or output.

5. SPU and Vector Multimedia Extension Intrinsics: Mapping between PPU vector/SIMD multimedia extension

intrinsics and SPU intrinsics.

6. PPU VMX Intrinsics: Intrinsics that make the underlying PPU vector/SIMD multimedia extension instruction set

accessible from C and C++.

7. PPU Intrinsics: A minimal set of specific intrinsics to make the underlying PPU instruction set accessible from C.

8. SPU C and C++ Standard Libraries and Language Support: Differences between C and C++ standard libraries on

the SPU and the corresponding IS0/IEC standards, and common language features that are not supported on the
SPU.

9. Floating-Point Arithmetic on the SPU: Differences between Annex F of the C99 language floating-point standard

(ISO/IEC 9899) and the SPU implementations that apply to SPU compilers and libraries.

Recommended Prerequisites

Read or browse:

ƒ

CBE Programming Handbook

Further Details

See:

ƒ

SIMD Math Library Specification for CBE Architecture

Advertising