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: r250769
This commit is contained in:
Uros Bizjak 2017-08-01 13:15:52 +02:00 committed by Uros Bizjak
parent b8bb5772c6
commit 4f3e333a87
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 Uros Bizjak <ubizjak@gmail.com>
PR target/81639

View File

@ -19446,7 +19446,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 Uros Bizjak <ubizjak@gmail.com>
PR target/81639

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;
}