re PR target/81641 (Assemble failure with named address spaces and -masm=intel)

PR target/81641
	* config/i386/i386.c (ix86_print_operand_address_as): For -masm=intel
	print "ds:" only for immediates in generic address space.

testsuite/ChangeLog:

	PR target/81641
	* gcc.target/i386/pr81641.c: New test.

From-SVN: r250801
This commit is contained in:
Uros Bizjak 2017-08-02 00:06:11 +02:00 committed by Uros Bizjak
parent c49cb08753
commit 5ed13b67d0
4 changed files with 23 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2017-08-01 Uros Bizjak <ubizjak@gmail.com>
PR target/81641
* config/i386/i386.c (ix86_print_operand_address_as): For -masm=intel
print "ds:" only for immediates in generic address space.
2017-08-01 Jakub Jelinek <jakub@redhat.com>
PR target/81622

View File

@ -18603,7 +18603,7 @@ ix86_print_operand_address_as (FILE *file, rtx addr,
/* Displacement only requires special attention. */
if (CONST_INT_P (disp))
{
if (ASSEMBLER_DIALECT == ASM_INTEL && parts.seg == ADDR_SPACE_GENERIC)
if (ASSEMBLER_DIALECT == ASM_INTEL && ADDR_SPACE_GENERIC_P (as))
fputs ("ds:", file);
fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (disp));
}

View File

@ -1,3 +1,8 @@
2017-08-01 Uros Bizjak <ubizjak@gmail.com>
PR target/81641
* gcc.target/i386/pr81641.c: New test.
2017-08-01 Jakub Jelinek <jakub@redhat.com>
PR target/81622

View File

@ -0,0 +1,11 @@
/* PR target/81641 */
/* { dg-do assemble } */
/* { dg-options "-O -masm=intel" } */
/* { dg-require-effective-target masm_intel } */
int test(void)
{
int __seg_fs *f = (int __seg_fs *)16;
int __seg_gs *g = (int __seg_gs *)16;
return *f + *g;
}