aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2017-08-01 13:15:52 +0200
committerUros Bizjak <uros@gcc.gnu.org>2017-08-01 13:15:52 +0200
commit4f3e333a872427dc34a7235dc31431fc5c6cfd88 (patch)
tree6fc7e85627329ff339a50b462201dc99ab49031b /gcc
parentb8bb5772c6cbb043e60229ecc68806d91efe079f (diff)
downloadgcc-4f3e333a872427dc34a7235dc31431fc5c6cfd88.zip
gcc-4f3e333a872427dc34a7235dc31431fc5c6cfd88.tar.gz
gcc-4f3e333a872427dc34a7235dc31431fc5c6cfd88.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/pr81641.c11
4 files changed, 23 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bb56487..ca6353a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 27011c3..494a18a 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -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));
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 5c21b68..c9ebc51 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
index 0000000..15da9ac
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr81641.c
@@ -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;
+}