alpha: Introduce target specific store_data_bypass_p function [PR105209]
commitcc378e655740e93743e7f43e14faaff707aef6c1
authorUros Bizjak <ubizjak@gmail.com>
Fri, 17 Jun 2022 15:19:44 +0000 (17 17:19 +0200)
committerUros Bizjak <ubizjak@gmail.com>
Fri, 17 Jun 2022 15:20:41 +0000 (17 17:20 +0200)
treeebc5a99a346a71fd13642ef74806936c6111c251
parent1f8278bfcfc7f7157bf2b405471e67dd5097636b
alpha: Introduce target specific store_data_bypass_p function [PR105209]

This patch introduces alpha-specific version of store_data_bypass_p that
ignores TRAP_IF that would result in assertion failure (and internal
compiler error) in the generic store_data_bypass_p function.

While at it, also remove ev4_ist_c reservation, store_data_bypass_p
can handle the patterns with multiple sets since some time ago.

2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>

gcc/ChangeLog:

PR target/105209
* config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
* config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
(alpha_store_data_bypass_p_1): Ditto.
* config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
of generic store_data_bypass_p.
(ev4_ist_c): Remove insn reservation.

gcc/testsuite/ChangeLog:

PR target/105209
* gcc.target/alpha/pr105209.c: New test.
gcc/config/alpha/alpha-protos.h
gcc/config/alpha/alpha.cc
gcc/config/alpha/ev4.md
gcc/testsuite/gcc.target/alpha/pr105209.c [new file with mode: 0644]