Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб2012 / 253665.pdf
Скачиваний:
33
Добавлен:
02.02.2015
Размер:
3.31 Mб
Скачать

FLOATING-POINT EXCEPTIONS SUMMARY

C.4 SSE2 INSTRUCTIONS

Table C-4 lists SSE2 instructions with at least one of the following characteristics:

floating-point operands floating point results

For each instruction, the table summarizes the floating-point exceptions that the instruction can generate.

Table C-4. Exceptions Generated with SSE2 Instructions

Instruction

Description

#I

#D

#Z

#O

#U

#P

 

 

 

 

 

 

 

 

ADDPD

Add two packed DP FP

Y

Y

 

Y

Y

Y

 

numbers from XMM2/Mem to

 

 

 

 

 

 

 

XMM1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ADDSD

Add the lower DP FP number

Y

Y

 

Y

Y

Y

 

from XMM2/Mem to XMM1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ANDNPD

Invert the 128 bits in

 

 

 

 

 

 

 

XMM1and then AND the result

 

 

 

 

 

 

 

with 128 bits from

 

 

 

 

 

 

 

XMM2/Mem.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ANDPD

Logical And of 128 bits from

 

 

 

 

 

 

 

XMM2/Mem to XMM1 register.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CMPPD

Compare packed DP FP

Y

Y

 

 

 

 

 

numbers from XMM2/Mem to

 

 

 

 

 

 

 

packed DP FP numbers in

 

 

 

 

 

 

 

XMM1 register using imm8 as

 

 

 

 

 

 

 

predicate.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CMPSD

Compare lowest DP FP number

Y

Y

 

 

 

 

 

from XMM2/Mem to lowest DP

 

 

 

 

 

 

 

FP number in XMM1 register

 

 

 

 

 

 

 

using imm8 as predicate.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

COMISD

Compare lower DP FP number

Y

Y

 

 

 

 

 

in XMM1 register with lower

 

 

 

 

 

 

 

DP FP number in XMM2/Mem

 

 

 

 

 

 

 

and set the status flags

 

 

 

 

 

 

 

accordingly

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CVTDQ2PS

Convert four 32-bit signed

 

 

 

 

 

Y

 

integers from XMM/Mem to

 

 

 

 

 

 

 

four SP FP.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CVTPS2DQ

Convert four SP FP from

Y

 

 

 

 

Y

 

XMM/Mem to four 32-bit

 

 

 

 

 

 

 

signed integers in XMM using

 

 

 

 

 

 

 

rounding specified by MXCSR.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Vol. 1 C-7

FLOATING-POINT EXCEPTIONS SUMMARY

Table C-4. Exceptions Generated with SSE2 Instructions (Contd.)

Instruction

Description

#I

#D

#Z

#O

#U

#P

 

 

 

 

 

 

 

 

CVTTPS2DQ

Convert four SP FP from

Y

 

 

 

 

Y

 

XMM/Mem to four 32-bit

 

 

 

 

 

 

 

signed integers in XMM using

 

 

 

 

 

 

 

truncate.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CVTDQ2PD

Convert two 32-bit signed

 

 

 

 

 

 

 

integers in XMM2/Mem to 2

 

 

 

 

 

 

 

DP FP in xmm1 using rounding

 

 

 

 

 

 

 

specified by MXCSR.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CVTPD2DQ

Convert two DP FP from

Y

 

 

 

 

Y

 

XMM2/Mem to two 32-bit

 

 

 

 

 

 

 

signed integers in xmm1 using

 

 

 

 

 

 

 

rounding specified by MXCSR.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CVTPD2PI

Convert lower two DP FP from

Y

 

 

 

 

Y

 

XMM/Mem to two 32-bit

 

 

 

 

 

 

 

signed integers in MM using

 

 

 

 

 

 

 

rounding specified by MXCSR.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CVTPD2PS

Convert two DP FP to two SP

Y

Y

 

Y

Y

Y

 

FP.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CVTPI2PD

Convert two 32-bit signed

 

 

 

 

 

 

 

integers from MM2/Mem to

 

 

 

 

 

 

 

two DP FP.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CVTPS2PD

Convert two SP FP to two DP

Y

Y

 

 

 

 

 

FP.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CVTSD2SI

Convert one DP FP from

Y

 

 

 

 

Y

 

XMM/Mem to one 32 bit

 

 

 

 

 

 

 

signed integer using rounding

 

 

 

 

 

 

 

mode specified by MXCSR, and

 

 

 

 

 

 

 

move the result to an integer

 

 

 

 

 

 

 

register.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CVTSD2SS

Convert scalar DP FP to scalar

Y

Y

 

Y

Y

Y

 

SP FP.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CVTSI2SD

Convert one 32-bit signed

 

 

 

 

 

 

 

integer from Integer Reg/Mem

 

 

 

 

 

 

 

to one DP FP.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CVTSS2SD

Convert scalar SP FP to scalar

Y

Y

 

 

 

 

 

DP FP.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C-8 Vol. 1

FLOATING-POINT EXCEPTIONS SUMMARY

Table C-4. Exceptions Generated with SSE2 Instructions (Contd.)

Instruction

Description

#I

#D

#Z

#O

#U

#P

 

 

 

 

 

 

 

 

CVTTPD2DQ

Convert two DP FP from

Y

 

 

 

 

Y

 

XMM2/Mem to two 32-bit

 

 

 

 

 

 

 

signed integers in XMM1 using

 

 

 

 

 

 

 

truncate.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CVTTPD2PI

Convert two DP FP from

Y

 

 

 

 

Y

 

XMM2/Mem to two 32-bit

 

 

 

 

 

 

 

signed integers in MM1 using

 

 

 

 

 

 

 

truncate.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CVTTSD2SI

Convert lowest DP FP from

Y

 

 

 

 

Y

 

XMM/Mem to one 32 bit

 

 

 

 

 

 

 

signed integer using truncate,

 

 

 

 

 

 

 

and move the result to an

 

 

 

 

 

 

 

integer register.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DIVPD

Divide packed DP FP numbers

Y

Y

Y

Y

Y

Y

 

in XMM1 by XMM2/Mem

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DIVSD

Divide lower DP FP numbers in

Y

Y

Y

Y

Y

Y

 

XMM1 by XMM2/Mem

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MAXPD

Return the maximum DP FP

Y

Y

 

 

 

 

 

numbers between XMM2/Mem

 

 

 

 

 

 

 

and XMM1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MAXSD

Return the maximum DP FP

Y

Y

 

 

 

 

 

number between the lower DP

 

 

 

 

 

 

 

FP numbers from XMM2/Mem

 

 

 

 

 

 

 

and XMM1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MINPD

Return the minimum DP

Y

Y

 

 

 

 

 

numbers between XMM2/Mem

 

 

 

 

 

 

 

and XMM1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MINSD

Return the minimum DP FP

Y

Y

 

 

 

 

 

number between the lowest

 

 

 

 

 

 

 

DP FP numbers from

 

 

 

 

 

 

 

XMM2/Mem and XMM1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVAPD

Move 128 bits representing 2

 

 

 

 

 

 

 

packed DP data from XMM2/Mem

 

 

 

 

 

 

 

to XMM1 register.

 

 

 

 

 

 

 

Or Move 128 bits representing

 

 

 

 

 

 

 

2 packed DP from XMM1

 

 

 

 

 

 

 

register to XMM2/Mem.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Vol. 1 C-9

FLOATING-POINT EXCEPTIONS SUMMARY

Table C-4. Exceptions Generated with SSE2 Instructions (Contd.)

Instruction

Description

#I

#D

#Z

#O

#U

#P

 

 

 

 

 

 

 

 

MOVHPD

Move 64 bits representing one

 

 

 

 

 

 

 

DP operand from Mem to

 

 

 

 

 

 

 

upper field of XMM register.

 

 

 

 

 

 

 

Or move 64 bits representing

 

 

 

 

 

 

 

one DP operand from upper

 

 

 

 

 

 

 

field of XMM register to Mem.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVLPD

Move 64 bits representing one

 

 

 

 

 

 

 

DP operand from Mem to

 

 

 

 

 

 

 

lower field of XMM register.

 

 

 

 

 

 

 

Or move 64 bits representing

 

 

 

 

 

 

 

one DP operand from lower

 

 

 

 

 

 

 

field of XMM register to Mem.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVMSKPD

Move the sign mask to r32.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVSD

Move 64 bits representing one

 

 

 

 

 

 

 

scalar DP operand from

 

 

 

 

 

 

 

XMM2/Mem to XMM1 register.

 

 

 

 

 

 

 

Or move 64 bits representing

 

 

 

 

 

 

 

one scalar DP operand from

 

 

 

 

 

 

 

XMM1 register to XMM2/Mem.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVUPD

Move 128 bits representing 2

 

 

 

 

 

 

 

DP data from XMM2/Mem to

 

 

 

 

 

 

 

XMM1 register.

 

 

 

 

 

 

 

Or move 128 bits representing

 

 

 

 

 

 

 

2 DP data from XMM1 register

 

 

 

 

 

 

 

to XMM2/Mem.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MULPD

Multiply packed DP FP

Y

Y

 

Y

Y

Y

 

numbers in XMM2/Mem to

 

 

 

 

 

 

 

XMM1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MULSD

Multiply the lowest DP FP

Y

Y

 

Y

Y

Y

 

number in XMM2/Mem to

 

 

 

 

 

 

 

XMM1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ORPD

OR 128 bits from XMM2/Mem

 

 

 

 

 

 

 

to XMM1 register.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SHUFPD

Shuffle Double.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SQRTPD

Square Root Packed Double-

Y

Y

 

 

 

Y

 

Precision

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SQRTSD

Square Root Scaler Double-

Y

Y

 

 

 

Y

 

Precision

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C-10 Vol. 1

Соседние файлы в папке Лаб2012