Hi!

In my r14-8214 changes I apparently forgot one \n at the end of an instruction.
The corresponding AT&T line looks like:
"1:\tcall\t*%s@GOTPCREL(%%rip)\n"
but the Intel variant was
"1:\tcall\t[QWORD PTR %s@GOTPCREL[rip]]"

Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux,
committed to trunk as obvious.

2024-02-26  Jakub Jelinek  <ja...@redhat.com>

        PR target/114094
        * config/i386/i386.cc (x86_function_profiler): Add missing new-line
        to printed instruction.

        * gcc.target/i386/pr114094.c: New test.

--- gcc/config/i386/i386.cc.jj  2024-02-22 10:10:18.675032283 +0100
+++ gcc/config/i386/i386.cc     2024-02-25 13:12:12.403323842 +0100
@@ -22909,7 +22909,7 @@ x86_function_profiler (FILE *file, int l
              if (!ix86_direct_extern_access)
                {
                  if (ASSEMBLER_DIALECT == ASM_INTEL)
-                   fprintf (file, "1:\tcall\t[QWORD PTR %s@GOTPCREL[rip]]",
+                   fprintf (file, "1:\tcall\t[QWORD PTR %s@GOTPCREL[rip]]\n",
                             mcount_name);
                  else
                    fprintf (file, "1:\tcall\t*%s@GOTPCREL(%%rip)\n",
--- gcc/testsuite/gcc.target/i386/pr114094.c.jj 2024-02-25 22:36:24.673320296 
+0100
+++ gcc/testsuite/gcc.target/i386/pr114094.c    2024-02-25 22:17:18.254178208 
+0100
@@ -0,0 +1,10 @@
+/* PR target/114094 */
+/* { dg-do assemble { target *-*-linux* } } */
+/* { dg-require-effective-target masm_intel } */
+/* { dg-require-effective-target pie } */
+/* { dg-options "-fpie -fprofile -mno-direct-extern-access -masm=intel" } */
+
+void
+foo (void)
+{
+}

        Jakub

Reply via email to