]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/arc/arc.c
arc: Update legitimate small data address.
authorClaudiu Zissulescu <claziss@gmail.com>
Tue, 3 Mar 2020 08:34:50 +0000 (10:34 +0200)
committerClaudiu Zissulescu <claziss@gmail.com>
Tue, 3 Mar 2020 08:34:50 +0000 (10:34 +0200)
commit02ae0e08a93f41022d1584054cf6111548c0d954
tree8da1ac71aaa4a037a8a6ff0d1b7fe6d05c3a0115
parent9c3044a210d69d475f76e4e269752e21ca4d3ac0
arc: Update legitimate small data address.

All ARC's small data adressing is using address scaling feature of the
load/store instructions (i.e., the address is made of a general
pointer plus a shifted offset. The shift amount depends on the
addressing mode).  This patch is checking the offset of an address if
it fits the scalled constraint.  If so, a small data access is
generated.  This patch fixes execute' pr93249 failure.

gcc/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.c (leigitimate_small_data_address_p): Check if an
address has an offset which fits the scalling constraint for a
load/store operation.
(legitimate_scaled_address_p): Update use
leigitimate_small_data_address_p.
(arc_print_operand): Likewise.
(arc_legitimate_address_p): Likewise.
(legitimate_small_data_address_p): Likewise.

Signed-off-by: Claudiu Zissulescu <claziss@gmail.com>
gcc/ChangeLog
gcc/config/arc/arc.c