Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 Manual page 1800

Hide thumbs Also See for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3:
Table of Contents

Advertisement

CVTPI2PS: Packed Signed INT32 to Packed Single-FP Conversion
Opcode
0F,2A,/r
Operation:
xmm[31-0]
xmm[63-32]
xmm[95-64]
xmm[127-96] = xmm[127-96];
The CVTPI2PS instruction converts signed 32-bit integers to SP FP numbers; when the
Description:
conversion is inexact, rounding is done according to MXCSR.
None.
FP Exceptions:
Precision.
Numeric Exceptions:
Protected Mode Exceptions:
#GP(0) for an illegal memory operand effective address in the CS, DS, ES, FS or GS
segments; #SS(0) for an illegal address in the SS segment; #PF (fault-code) for a page
fault; #UD if CR0.EM = 1; #NM if TS bit in CR0 is set; #MF if there is a pending FPU
exception; #AC for unaligned memory reference; #AC for unaligned memory reference.
To enable #AC exceptions, three conditions must be true(CR0.AM is set; EFLAGS.AC is
set; current CPL is 3); #XM for an unmasked SSE numeric exception
(CR4.OSXMMEXCPT =1); #UD for an unmasked SSE numeric exception
(CR4.OSXMMEXCPT =0); #UD if CRCR4.OSFXSR(bit 9) = 0; #UD if CPUID.XMM(EDX
bit 25) = 0.
Real Address Mode Exceptions:
Interrupt 13 if any part of the operand would lie outside of the effective address space
from 0 to 0FFFFH; #UD if CR0.EM = 1; #NM if TS bit in CR0 is set; #MF if there is a
pending FPU exception; #AC for unaligned memory reference; #XM for an unmasked
SSE numeric exception (CR4.OSXMMEXCPT =1); #UD for an unmasked SSE numeric
exception (CR4.OSXMMEXCPT =0); #UD if CRCR4.OSFXSR(bit 9) = 0; #UD if
CPUID.XMM(EDX bit 25) = 0.
Virtual 8086 Mode Exceptions:
Same exceptions as in Real Address Mode; #AC for unaligned memory reference if the
current privilege level is 3; #PF (fault-code) for a page fault.
Additional Itanium System Environment Exceptions
Itanium Reg Faults
Itanium Mem Faults VHPT Data Fault, Data TLB Fault, Alternate Data TLB Fault, Data
4:498
Instruction
CVTPI2PS xmm, mm/m64
= (float) (mm/m64[31-0]);
= (float) (mm/m64[63-32]);
= xmm[95-64];
Disabled FP Register Fault if PSR.dfl is 1, NaT Register
Consumption Fault
Page Not Present Fault, Data NaT Page Consumption Abort, Data
Key Miss Fault, Data Key Permission Fault, Data Access Rights
Fault, Data Access Bit Fault
Description
Convert two 32-bit signed integers from MM/Mem to two SP
FP.
Volume 4: IA-32 SSE Instruction Reference

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents