Bug 20706 - [libopcodes][x86] invalid quadword XOP instructions using %ymm registers
Summary: [libopcodes][x86] invalid quadword XOP instructions using %ymm registers
Status: UNCONFIRMED
Alias: None
Product: binutils
Classification: Unclassified
Component: binutils (show other bugs)
Version: 2.26
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-10-17 18:02 UTC by nholcomb
Modified: 2017-04-18 15:01 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description nholcomb 2016-10-17 18:02:51 UTC
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.
Comment 1 H.J. Lu 2016-10-18 15:38:16 UTC
Add AMD contact.
Comment 2 Amit Pawar 2016-10-20 06:22:54 UTC
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.
Comment 3 Amit Pawar 2016-12-09 08:50:10 UTC
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.
Comment 4 nholcomb 2017-04-18 15:01:35 UTC
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.