https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120019

--- Comment #12 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Uros Bizjak <u...@gcc.gnu.org>:

https://gcc.gnu.org/g:c182f4d14d65b3e012ad65b5014d86352fabc86f

commit r16-393-gc182f4d14d65b3e012ad65b5014d86352fabc86f
Author: Uros Bizjak <ubiz...@gmail.com>
Date:   Mon May 5 13:59:43 2025 +0200

    i386: Do not use explicit operands for MOVS instructions [PR120019]

    Some assemblers do not support MOVS instructions with explicit operands.
    Emit instruction with implicit operands, but prefix the instruction with a
    segment override prefix if the memory operand refers to ADDR_SPACE_SEG_FS
    or ADDR_SPACE_SEG_GS named address space.

            PR target/120019

    gcc/ChangeLog:

            * config/i386/i386.cc (ix86_print_operand): Handle 'v' operand
            modifier to emit segment override prefix.
            * config/i386/i386.md (*strmovdi_rex_1): Use %v operand modifier
            to emit segment override prefix.
            (*strmovsi_1): Ditto.
            (*strmovhi_1): Ditto.
            (*strmovqi_1): Ditto.
            (*rep_movdi_rex64): Ditto.
            (*rep_movsi): Ditto.
            (*rep_movqi): Ditto.

    gcc/testsuite/ChangeLog:

            * gcc.target/i386/pr111657-1.c (dg-do): Change to "assemble".
            (dg-options): Remove -masm=att and add -save-temps.
            (dg-final): Update scan-assembler and scan-assembler-not strings.

    Co-authored-by: Rainer Orth <r...@cebitec.uni-bielefeld.de>

Reply via email to