]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/arc/arc.cc
arc: Cleanup addsi3 instruction pattern
authorClaudiu Zissulescu <claziss@gmail.com>
Tue, 5 Sep 2023 08:23:26 +0000 (11:23 +0300)
committerClaudiu Zissulescu <claziss@gmail.com>
Tue, 5 Sep 2023 08:31:32 +0000 (11:31 +0300)
commit1cf57a14d7de4d150a59191973085a93050bcc9a
tree07bb3b3847665e319d57ac24e6661daf732c87c9
parent07f7615c181dd50fdae68e37b422053554eca1ec
arc: Cleanup addsi3 instruction pattern

This patch repurposes the code letter 's' to 'x', and 'S' to 'J'.
Also it introduces new CODE letters 'x', 's', 'S', and 'N'.

gcc/ChangeLog:

* config/arc/arc-protos.h (arc_output_addsi): Remove declaration.
(split_addsi): Likewise.
* config/arc/arc.cc (arc_print_operand): Add/repurpose 's', 'S',
'N', 'x', and 'J' code letters.
(arc_output_addsi): Make it static.
(split_addsi): Remove it.
* config/arc/arc.h (UNSIGNED_INT*): New defines.
(SINNED_INT*): Likewise.
* config/arc/arc.md (type): Add add, sub, bxor types.
(tst_movb): Change code letter from 's' to 'x'.
(andsi3_i): Likewise.
(addsi3_mixed): Refurbish the pattern.
(call_i): Change code letter from 'S' to 'J'.
* config/arc/arc700.md: Add newly introduced types.
* config/arc/arcHS.md: Likewsie.
* config/arc/arcHS4x.md: Likewise.
* config/arc/constraints.md (Cca, CL2, Csp, C2a): Remove it.
(CM4): Update description.
(CP4, C6u, C6n, CIs, C4p): New constraint.

Signed-off-by: Claudiu Zissulescu <claziss@gmail.com>
gcc/config/arc/arc-protos.h
gcc/config/arc/arc.cc
gcc/config/arc/arc.h
gcc/config/arc/arc.md
gcc/config/arc/arc700.md
gcc/config/arc/arcHS.md
gcc/config/arc/arcHS4x.md
gcc/config/arc/constraints.md