[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gas/18638] New: Wrong code generated for VMOVQ and VGATHER... on x8
From: |
m at rolle dot name |
Subject: |
[Bug gas/18638] New: Wrong code generated for VMOVQ and VGATHER... on x86 CPU |
Date: |
Wed, 08 Jul 2015 02:32:03 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=18638
Bug ID: 18638
Summary: Wrong code generated for VMOVQ and VGATHER... on x86
CPU
Product: binutils
Version: unspecified
Status: NEW
Severity: critical
Priority: P2
Component: gas
Assignee: unassigned at sourceware dot org
Reporter: m at rolle dot name
Target Milestone: ---
Two issues here, both with the binary code generated by gas. These are seen in
the testsuite files.
(1) vmovq rcx, xmm4
Generates C4 E1 FD 7E E1.
The VEX.L bit (the 8's bit of the third byte) is 1. However, AMD spec says you
must have VEX.L = 0, and in fact, VEX.L = 1 causes a #UD exception.
Intel document says the same thing.
(2) vgather...
Generates a ModR/M byte with the r/m field = 000b. However, Intel spec says
a #UD will "cause a #UD if the memory operand is encoded without the SIB byte".
I interpret this to mean that the r/m field must be 100b. AMD spec says
specifically that there is a #UD if "MODRM.rm != 100b".
I've also filed an issue suggesting that the assembled code from the testsuite
be actually executed on the appropriate CPU.
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug gas/18638] New: Wrong code generated for VMOVQ and VGATHER... on x86 CPU,
m at rolle dot name <=
- [Bug gas/18638] Wrong code generated for VMOVQ and VGATHER... on x86 CPU, hjl.tools at gmail dot com, 2015/07/09
- [Bug gas/18638] Wrong code generated for VMOVQ and VGATHER... on x86 CPU, hjl.tools at gmail dot com, 2015/07/14
- [Bug gas/18638] Wrong code generated for VMOVQ and VGATHER... on x86 CPU, hjl.tools at gmail dot com, 2015/07/14
- [Bug gas/18638] Wrong code generated for VMOVQ and VGATHER... on x86 CPU, m at rolle dot name, 2015/07/21
- [Bug gas/18638] Wrong code generated for VMOVQ and VGATHER... on x86 CPU, m at rolle dot name, 2015/07/21