https://sourceware.org/bugzilla/show_bug.cgi?id=24352
Bug ID: 24352
Summary: Incorrect EVEX optimization
Product: binutils
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: gas
Assignee: unassigned at sourceware dot org
Reporter: hjl.tools at gmail dot com
Target Milestone: ---
Target: i386
[hjl@gnu-gram-1 testsuite]$ cat x.s
vandnpd %zmm1, %zmm1, %zmm16
vandnpd %zmm17, %zmm17, %zmm1
[hjl@gnu-gram-1 testsuite]$ as -O2 -o x.o x.s
[hjl@gnu-gram-1 testsuite]$ objdump -dw x.o
x.o: file format elf64-x86-64
Disassembly of section .text:
0000000000000000 <.text>:
0: 62 e1 f5 48 55 c1 vandnpd %zmm1,%zmm1,%zmm16
6: 62 b1 f5 40 55 c9 vandnpd %zmm17,%zmm17,%zmm1
[hjl@gnu-gram-1 testsuite]$
They should be encoded with 128-bit EVEX.
[hjl@gnu-gram-1 testsuite]$ cat > y.s
vandnpd %ymm1, %ymm1, %ymm15
[hjl@gnu-gram-1 testsuite]$ as -O2 -march=+noavx -o y.o y.s
[hjl@gnu-gram-1 testsuite]$ objdump -dw y.o
y.o: file format elf64-x86-64
Disassembly of section .text:
0000000000000000 <.text>:
0: c5 71 55 f9 vandnpd %xmm1,%xmm1,%xmm15
[hjl@gnu-gram-1 testsuite]$
AVX shouldn't be used when AVX isn't available.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils