This patch adds a magic OSC (operand store compare) break instruction
which is necessary if a store is followed closely by a load with same
base+indx+displ while either base or index get modified in between.
The patch improves several SpecCPU testcases running on IBM z13.
gcc/testsuite/ChangeLog:
2016-10-28 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/oscbreak-1.c: New test.
gcc/ChangeLog:
2016-10-28 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c (s390_adjust_loop_scan_osc): New function.
(s390_adjust_loops): New function.
(s390_reorg): Invoke s390_adjust_loops.
* config/s390/s390.md: (UNSPEC_OSC_BREAK): New constant.
("osc_break"): New insn definition.
From-SVN: r241644
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| 2064.md | Loading commit data... | |
| 2084.md | Loading commit data... | |
| 2097.md | Loading commit data... | |
| 2817.md | Loading commit data... | |
| 2827.md | Loading commit data... | |
| 2964.md | Loading commit data... | |
| constraints.md | Loading commit data... | |
| driver-native.c | Loading commit data... | |
| htmintrin.h | Loading commit data... | |
| htmxlintrin.h | Loading commit data... | |
| linux.h | Loading commit data... | |
| predicates.md | Loading commit data... | |
| s390-builtin-types.def | Loading commit data... | |
| s390-builtins.def | Loading commit data... | |
| s390-builtins.h | Loading commit data... | |
| s390-c.c | Loading commit data... | |
| s390-modes.def | Loading commit data... | |
| s390-opts.h | Loading commit data... | |
| s390-protos.h | Loading commit data... | |
| s390.c | Loading commit data... | |
| s390.h | Loading commit data... | |
| s390.md | Loading commit data... | |
| s390.opt | Loading commit data... | |
| s390intrin.h | Loading commit data... | |
| s390x.h | Loading commit data... | |
| subst.md | Loading commit data... | |
| t-linux64 | Loading commit data... | |
| t-s390 | Loading commit data... | |
| tpf.h | Loading commit data... | |
| tpf.md | Loading commit data... | |
| tpf.opt | Loading commit data... | |
| vecintrin.h | Loading commit data... | |
| vector.md | Loading commit data... | |
| vx-builtins.md | Loading commit data... | |
| x-native | Loading commit data... |