Intel® ISA Extensions
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

Non-AVX opcodes

aorl
Beginner
1,343 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
1,343 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
1,343 Views
It's more clear now ! Thank you for your reply.
0 Kudos
knujohn4
New Contributor I
1,343 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