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

FLOATING-POINT EXCEPTIONS SUMMARY

Table C-3. Exceptions Generated with SSE Instructions (Contd.)

Mnemonic

Instruction

#I

#D

#Z

#O

#U

#P

 

 

 

 

 

 

 

 

RSQRTPS

Packed reciprocal square root.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RSQRTSS

Scalar reciprocal square root.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SHUFPS

Shuffle.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SQRTPS

Square Root of the packed SP

Y

Y

 

 

 

Y

 

FP numbers.

 

 

 

 

 

 

SQRTSS

Scalar square roo.

Y

Y

 

 

 

Y

 

 

 

 

 

 

 

 

STMXCSR

Store control/status word.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SUBPS

Packed subtract.

Y

Y

 

Y

Y

Y

 

 

 

 

 

 

 

 

SUBSS

Scalar subtract.

Y

Y

 

Y

Y

Y

 

 

 

 

 

 

 

 

UCOMISS

Unordered compare lower SP

Y

Y

 

 

 

 

 

FP numbers and set the status

 

 

 

 

 

 

 

flags.

 

 

 

 

 

 

UNPCKHPS

Interleave SP FP numbers.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UNPCKLPS

Interleave SP FP numbers.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XORPS

Packed XOR.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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 numbers

Y

Y

 

Y

Y

Y

 

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.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C-6 Vol. 1

FLOATING-POINT EXCEPTIONS SUMMARY

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

Instruction

Description

#I

#D

#Z

#O

#U

#P

 

 

 

 

 

 

 

 

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 in

Y

Y

 

 

 

 

 

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.

 

 

 

 

 

 

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.

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

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.

 

 

 

 

 

 

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.

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

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.

 

 

 

 

 

 

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 numbers

Y

Y

 

Y

Y

Y

 

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

 

 

 

 

 

 

Vol. 1 C-9

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