EasyManuals Logo

Intel ARCHITECTURE IA-32 User Manual

Intel ARCHITECTURE IA-32
568 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #188 background imageLoading...
Page #188 background image
IA-32 Intel® Architecture Optimization
3-8
Example 3-7 Identification of SSE3 by the OS
Considerations for Code Conversion to SIMD
Programming
The VTune Performance Enhancement Environment CD provides tools
to aid in the evaluation and tuning. But before implementing them, you
need answers to the following questions:
1. Will the current code benefit by using MMX technology, Streaming
SIMD Extensions, Streaming SIMD Extensions 2, or Streaming
SIMD Extensions 3?
2. Is this code integer or floating-point?
3. What integer word size or floating-point precision is needed?
4. What coding techniques should I use?
5. What guidelines do I need to follow?
6. How should I arrange and align the datatypes?
Figure 3-1 provides a flowchart for the process of converting code to
MMX technology, Streaming SIMD Extensions, or Streaming SIMD
Extensions 2.
bool SSE3_SIMD_SupportCheck() {
_try {
__asm addsubpd xmm0, xmm0 ; SSE3}
_except(EXCEPTION_EXECUTE_HANDLER) {
if _exception_code()==STATUS_ILLEGAL_INSTRUCTION)
/* SSE3not supported */
return (false);
}
/* SSE3 SIMD and FISTTP instructions are supported */
return (true);
}

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Intel ARCHITECTURE IA-32 and is the answer not in the manual?

Intel ARCHITECTURE IA-32 Specifications

General IconGeneral
Instruction Setx86
Instruction Set TypeCISC
Memory SegmentationSupported
Operating ModesReal mode, Protected mode, Virtual 8086 mode
Max Physical Address Size36 bits (with PAE)
Max Virtual Address Size32 bits
ArchitectureIA-32 (Intel Architecture 32-bit)
Addressable Memory4 GB (with Physical Address Extension up to 64 GB)
Floating Point Registers8 x 80-bit
MMX Registers8 x 64-bit
SSE Registers8 x 128-bit
RegistersGeneral-purpose registers (EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP), Segment registers (CS, DS, SS, ES, FS, GS), Instruction pointer (EIP), Flags register (EFLAGS)
Floating Point UnitYes (x87)

Related product manuals