diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2017-08-01 13:15:52 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2017-08-01 13:15:52 +0200 |
commit | 4f3e333a872427dc34a7235dc31431fc5c6cfd88 (patch) | |
tree | 6fc7e85627329ff339a50b462201dc99ab49031b /gcc | |
parent | b8bb5772c6cbb043e60229ecc68806d91efe079f (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr81641.c | 11 |
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; +} |