]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
arc: Remove '^' print punct character
authorClaudiu Zissulescu <claziss@gmail.com>
Thu, 5 Oct 2023 11:30:52 +0000 (14:30 +0300)
committerClaudiu Zissulescu <claziss@gmail.com>
Thu, 5 Oct 2023 11:40:43 +0000 (14:40 +0300)
The '^' was used to print '@' character in the ouput assembly. This is
not anylonger required by the ARC binutils. Remove it.

gcc/

* config/arc/arc.cc (arc_init): Remove '^' punct char.
(arc_print_operand): Remove related code.
* config/arc/arc.md: Update patterns which uses '%&'.

gcc/testsuite/

* gcc.target/arc/loop-3.c: Update test.

Signed-off-by: Claudiu Zissulescu <claziss@gmail.com>
gcc/config/arc/arc.cc
gcc/config/arc/arc.md
gcc/testsuite/gcc.target/arc/loop-3.c

index 5e597d1bfebb8451164c7e782e000a39f9034a38..a1428eb41c3b2eccaa5ec789c68b31aba1168906 100644 (file)
@@ -1130,7 +1130,6 @@ arc_init (void)
   arc_punct_chars['*'] = 1;
   arc_punct_chars['?'] = 1;
   arc_punct_chars['!'] = 1;
-  arc_punct_chars['^'] = 1;
   arc_punct_chars['+'] = 1;
   arc_punct_chars['_'] = 1;
 }
@@ -4529,7 +4528,6 @@ static int output_sdata = 0;
     'V': cache bypass indicator for volatile
     'P'
     'F'
-    '^'
     'O': Operator
     'o': original symbol - no @ prepending.  */
 
@@ -4953,14 +4951,7 @@ arc_print_operand (FILE *file, rtx x, int code)
     case 'F':
       fputs (reg_names[REGNO (x)]+1, file);
       return;
-    case '^':
-       /* This punctuation character is needed because label references are
-       printed in the output template using %l. This is a front end
-       character, and when we want to emit a '@' before it, we have to use
-       this '^'.  */
 
-       fputc('@',file);
-       return;
     case 'O':
       /* Output an operator.  */
       switch (GET_CODE (x))
index 2a3ff05b66b820c1fbbab1e0e58f59be3f8925fc..945cc4042d1df364c1e5b32985065c1286c5be57 100644 (file)
@@ -3934,9 +3934,9 @@ archs4x, archs4xd"
     {
       arc_ccfsm_record_condition (operands[1], false, insn, 0);
       if (get_attr_length (insn) == 2)
-        return \"b%d1%? %^%l0\";
+        return \"b%d1%?\\t%l0\";
       else
-        return \"b%d1%# %^%l0\";
+        return \"b%d1%#\\t%l0\";
     }
 }"
   [(set_attr "type" "branch")
@@ -3984,9 +3984,9 @@ archs4x, archs4xd"
     {
       arc_ccfsm_record_condition (operands[1], true, insn, 0);
       if (get_attr_length (insn) == 2)
-        return \"b%D1%? %^%l0\";
+        return \"b%D1%?\\t%l0\";
       else
-        return \"b%D1%# %^%l0\";
+        return \"b%D1%#\\t%l0\";
     }
 }"
   [(set_attr "type" "branch")
@@ -4026,7 +4026,7 @@ archs4x, archs4xd"
 (define_insn "jump_i"
   [(set (pc) (label_ref (match_operand 0 "" "")))]
   "!TARGET_LONG_CALLS_SET || !CROSSING_JUMP_P (insn)"
-  "b%!%* %^%l0"
+  "b%!%*\\t%l0"
   [(set_attr "type" "uncond_branch")
    (set (attr "iscompact")
        (if_then_else (match_test "get_attr_length (insn) == 2")
@@ -4990,13 +4990,13 @@ archs4x, archs4xd"
    "*
      switch (get_attr_length (insn))
      {
-       case 2: return \"br%d0%? %1, %2, %^%l3\";
-       case 4: return \"br%d0%* %1, %B2, %^%l3\";
+       case 2: return \"br%d0%?\\t%1,%2,%l3\";
+       case 4: return \"br%d0%*\\t%1,%B2,%l3\";
        case 8: if (!brcc_nolimm_operator (operands[0], VOIDmode))
-                return \"br%d0%* %1, %B2, %^%l3\";
+                return \"br%d0%*\\t%1,%B2,%l3\";
        /* FALLTHRU */
        case 6: case 10:
-       case 12:return \"cmp%? %1, %B2\\n\\tb%d0%* %^%l3 ;br%d0 out of range\";
+       case 12:return \"cmp%? %1, %B2\\n\\tb%d0%*\\t%l3 ;br%d0 out of range\";
        default: fprintf (stderr, \"unexpected length %d\\n\", get_attr_length (insn)); fflush (stderr); gcc_unreachable ();
      }
    "
index 7f55e2f43fa2c2b6ebf3af0821f5cd78b01a9d93..ae0d6110f18232fef7a70817f29995b51e9acf12 100644 (file)
@@ -23,5 +23,5 @@ void fn1(void)
   }
 }
 
-/* { dg-final { scan-assembler "bne.*@.L2" } } */
+/* { dg-final { scan-assembler "bne.*\\.L2" } } */
 /* { dg-final { scan-assembler-not "add.eq" } } */