#### G.4.2 i386 Features

The ‘`org.gnu.gdb.i386.core`’ feature is required for i386/amd64 targets. It should describe the following registers:

- ‘`eax`’ through ‘`edi`’ plus ‘`eip`’ for i386
- ‘`rax`’ through ‘`r15`’ plus ‘`rip`’ for amd64
- ‘`eflags`’, ‘`cs`’, ‘`ss`’, ‘`ds`’, ‘`es`’, ‘`fs`’, ‘`gs`’
- ‘`st0`’ through ‘`st7`’
- ‘`fctrl`’, ‘`fstat`’, ‘`ftag`’, ‘`fiseg`’, ‘`fioff`’, ‘`foseg`’, ‘`fooff`’ and ‘`fop`’

The register sets may be different, depending on the target.

The ‘`org.gnu.gdb.i386.sse`’ feature is optional. It should describe registers:

- ‘`xmm0`’ through ‘`xmm7`’ for i386
- ‘`xmm0`’ through ‘`xmm15`’ for amd64
- ‘`mxcsr`’

The ‘`org.gnu.gdb.i386.avx`’ feature is optional and requires the ‘`org.gnu.gdb.i386.sse`’ feature. It should describe the upper 128 bits of ymm registers:

- ‘`ymm0h`’ through ‘`ymm7h`’ for i386
- ‘`ymm0h`’ through ‘`ymm15h`’ for amd64

The ‘`org.gnu.gdb.i386.linux`’ feature is optional. It should describe a single register, ‘`orig_eax`’.