bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/18974] New: GAS does not allow embedded rounding with memory op


From: maratek at gmail dot com
Subject: [Bug gas/18974] New: GAS does not allow embedded rounding with memory operand in V*SS/V*SD instructions
Date: Wed, 16 Sep 2015 18:21:50 +0000

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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]