aboutsummaryrefslogtreecommitdiff
path: root/gcc/hash-table.c
diff options
context:
space:
mode:
authorClaudiu Zissulescu <claziss@gmail.com>2020-12-11 18:27:21 +0200
committerClaudiu Zissulescu <claziss@synopsys.com>2020-12-11 18:29:56 +0200
commit78e9cfe1e29902a887853142a5e417500fe90fc8 (patch)
tree36ae57bb66f481e7b2737b8ca284f665fa95e37a /gcc/hash-table.c
parenta412be00c49406889a84791935194fc54a89ff79 (diff)
downloadgcc-78e9cfe1e29902a887853142a5e417500fe90fc8.zip
gcc-78e9cfe1e29902a887853142a5e417500fe90fc8.tar.gz
gcc-78e9cfe1e29902a887853142a5e417500fe90fc8.tar.bz2
arc: Update ARC700 cache hazard detection.
Replace/update ARC700 cache hazard detection. The next situations are handled: - There are 2 stores back2back, then 3 loads in next 3 or 4 instructions. if 3 loads in 3 instructions then we insert 2 nops after stores. if 3 loads in 4 instructions then we insert 1 nop after stores - 2 back to back stores, followed by at least 3 loads in next 4 instructions. st st ld ld ld ## st st ## ld ld ld st st ld ## ld ld st st ld ld ## ld ## - any instruction - store between non-store instructions, followed by 3 loads $$ st SS ld ld ld $$ - non-store instruction, even load. gcc/ 2020-12-11 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_active_insn): Ignore all non essential instructions when getting the next active instruction. (check_store_cacheline_hazard): Update. (workaround_arc_anomaly): Remove obsolete cache hazard code. Signed-off-by: Claudiu Zissulescu <claziss@gmail.com>
Diffstat (limited to 'gcc/hash-table.c')
0 files changed, 0 insertions, 0 deletions