Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How many XMM registers are available on an x86 processor supporting SSE?

How to find out the number of XMM registers on a processor which supports SSE?

On Intel X5550, for example.

like image 276
klm123 Avatar asked Apr 05 '12 08:04

klm123


People also ask

How many SSE registers are there?

SSE and AVX have 16 registers each. On SSE they are referenced as XMM0-XMM15, and on AVX they are called YMM0-YMM15. XMM registers are 128 bits long, whereas YMM are 256bit.

How many XMM registers are there?

There are eight XMM registers available in non -64-bit modes and 16 XMM registers in long mode, which allow simultaneous operations on: 16 bytes.

How many registers does an x86 processor have?

The x86 architecture has 8 General-Purpose Registers (GPR), 6 Segment Registers, 1 Flags Register and an Instruction Pointer. 64-bit x86 has additional registers.

What are SSE registers?

SSE stands for Streaming SIMD Extensions. It is essentially the floating-point equivalent of the MMX instructions. The SSE registers are 128 bits, and can be used to perform operations on a variety of data sizes and types. Unlike MMX, the SSE registers do not overlap with the floating point stack.


1 Answers

The number of XMM registers is fixed in all the processors that support SSE. If the CPU is in 32-bit mode, you can use 8 registers, from xmm0 to xmm7, while if it's in 64-bit mode, you can address 16 registers, starting at xmm0 up to xmm15. This is thanks to using the REX.W prefix.

like image 84
Daniel Kamil Kozar Avatar answered Sep 28 '22 01:09

Daniel Kamil Kozar



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!