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