re PR target/81641 (Assemble failure with named address spaces and -masm=intel)
authorUros Bizjak <ubizjak@gmail.com>
Tue, 1 Aug 2017 11:15:52 +0000 (13:15 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Tue, 1 Aug 2017 11:15:52 +0000 (13:15 +0200)
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

gcc/ChangeLog
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr81641.c [new file with mode: 0644]

index bb56487..ca6353a 100644 (file)
@@ -1,5 +1,11 @@
 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
        * config/i386/i386.c (ix86_funciton_naked): New prototype.
        (ix86_function_ok_for_sibcall): Return false for naked functions.
index 27011c3..494a18a 100644 (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));
        }
index 5c21b68..c9ebc51 100644 (file)
@@ -1,5 +1,10 @@
 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
        * gcc.target/i386/pr81639.c: New test.
 
diff --git a/gcc/testsuite/gcc.target/i386/pr81641.c b/gcc/testsuite/gcc.target/i386/pr81641.c
new file mode 100644 (file)
index 0000000..15da9ac
--- /dev/null
@@ -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;
+}