Intel® ISA Extensions
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.

Non-AVX opcodes

aorl
Beginner
571 Views
Hi.

I was just reading "Intel Advanced Vector Extensions Programming Reference" for the first time and a few questions popped up immediately after readingsection 4. Maybe some reader in this forum can help me out.

1) does VEX prefix allow any type of prefix before it ? According to section 4.1.1, 4.1.2 and 4.1.3 I understand that no prefix is allowed, but figure 4-1 suggests the opposite
2) can I use the VEX prefix to encode an instruction like for example RDTSC (0F 31)?

Thank you.

0 Kudos
3 Replies
Brijender_B_Intel
571 Views

The good thing about VEX encoding is that it has compacted the encoding and added the possibility of adding more opcodes. The usual SIMD perfixes 0F, 66, F2 F3 etc are encoded in 2nd or 3rd byte of the VEX. However when you decode those instructions these prefixes are present. You can not encode RDTSC with VEX.
VEX perfix is only valid for AVX instructions - SIMD instructions (encoded in VEX form).

0 Kudos
aorl
Beginner
571 Views
It's more clear now ! Thank you for your reply.
0 Kudos
knujohn4
New Contributor I
571 Views
It looks like prefixes from "group1" (Lock and Repeat prefixes) is not allowed. Prefixes from "group2" (Segment overrides) are allowed and Operand size overridenot allowed but address size override (0x67) is.

Knut
0 Kudos
Reply