[Bug gas/18974] New: GAS does not allow embedded rounding with memory operand in V*SS/V*SD instructions

2015-09-16 Thread maratek at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=18974

Bug ID: 18974
   Summary: GAS does not allow embedded rounding with memory
operand in V*SS/V*SD instructions
   Product: binutils
   Version: 2.26 (HEAD)
Status: NEW
  Severity: normal
  Priority: P2
 Component: gas
  Assignee: unassigned at sourceware dot org
  Reporter: maratek at gmail dot com
  Target Milestone: ---

According to "Intel Architecture Instruction Set Extensions Programming
Reference" (319433-023, AUGUST 2015), the EVEX-encoded scalar arithmetic
instructions support embedded rounding, e.g.

VADDSS xmm1{k1}{z}, xmm2, xmm3/m32{er}

However, gas refuses to encode such instructions when both memory operand and
embedded rounding is specified. Repro:

.text
.intel_syntax noprefix

vaddsd xmm31{k7}, xmm30, xmm29, {rn-sae} # Compiles fine
vaddsd xmm31{k7}, xmm30, [rsi]   # Compiles fine
vaddsd xmm31{k7}, xmm30, [rsi], {rn-sae} # Error: operand size mismatch for
`vaddsd'

I tried VADDSS/VADDSD/VSUBSS/VSUBSD/VMULSS/VMULSD, binutils 2.2.5 and the
upstream binutils from Git, they all exhibit this problem.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gas/18974] GAS does not allow embedded rounding with memory operand in V*SS/V*SD instructions

2015-09-16 Thread maratek at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=18974

Marat Dukhan  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |INVALID

--- Comment #2 from Marat Dukhan  ---
Right, I overlooked that

-- 
You are receiving this mail because:
You are on the CC list for the bug.

___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug binutils/31219] New: Incorrect disassembly for x86 ADCX instructions with -M suffix

2024-01-06 Thread maratek at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=31219

Bug ID: 31219
   Summary: Incorrect disassembly for x86 ADCX instructions with
-M suffix
   Product: binutils
   Version: 2.41
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: binutils
  Assignee: unassigned at sourceware dot org
  Reporter: maratek at gmail dot com
  Target Milestone: ---

adcxl is disassembled into adcxw when objdump disassembler is invoked with -M
suffix option.

$ cat > test.s << EOF
> .text
> adcxl %ecx, %edx
> EOF
$ as -o test.o test.s
$ objdump -M suffix -j .text -d test.o

test.o: file format elf64-x86-64


Disassembly of section .text:

 <.text>:
   0:   66 0f 38 f6 d1  adcxw  %ecx,%edx

This probably happens because ADCX instruction has a mandatory 0x66 prefix
which is interpreted as an operand size override prefix.

-- 
You are receiving this mail because:
You are on the CC list for the bug.