The following are examples of objdump output XOP instructions using %ymm registers that produce invalid size errors. Bytes: 8f a9 d6 93 52 07 Instruction: vprotq 0x7(%rdx), %xmm5, %ymm2 Bytes: 8f 29 34 9b 37 Instruction: vpshaq %xmm9, (%rdi), %ymm14 In addition to producing errors if assembled, these bytes are interpreted as an invalid instruction by other decoders.
Add AMD contact.
Please allow some time to check and will update you on this. -----Original Message----- From: hjl.tools at gmail dot com [mailto:sourceware-bugzilla@sourceware.org] Sent: Tuesday, October 18, 2016 9:08 PM To: Pawar, Amit <Amit.Pawar@amd.com> Subject: [Bug binutils/20706] [libopcodes][x86] invalid quadword XOP instructions using %ymm registers https://sourceware.org/bugzilla/show_bug.cgi?id=20706 H.J. Lu <hjl.tools at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amit.pawar at amd dot com, | |hjl.tools at gmail dot com --- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> --- Add AMD contact. -- You are receiving this mail because: You are on the CC list for the bug.
Can you please share the testcase and mention which assembler has been used to create this object file. As per your observation GNU AS will not accept these instructions and will report errors. So unable to figure out how this opcode is assembled in object file. It will help me to look in the right direction to pinpoint the problem if it is coming through known assemblers.
These input bytes were generated as a way to validate instruction decoders. They are not a part of a real executable, so they weren't created by an assembler.