The following adds missing reservations for the store variant of sselog reservations covering
;; 112--> b 0: i1499 [dx-0x10]=vec_select(xmm10,parallel) :nothing Bootstrapped and tested on x86_64-unknown-linux-gnu, OK? PR target/119010 * config/i386/zn4zn5.md (znver4_sse_log_evex_store, znver5_sse_log_evex_store): New reservations. --- gcc/config/i386/zn4zn5.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gcc/config/i386/zn4zn5.md b/gcc/config/i386/zn4zn5.md index 6720fda1705..1ac1d07c04b 100644 --- a/gcc/config/i386/zn4zn5.md +++ b/gcc/config/i386/zn4zn5.md @@ -1367,6 +1367,20 @@ (eq_attr "memory" "load")))) "znver4-direct,znver5-load,znver4-fpu0|znver4-fpu1|znver4-fpu2|znver4-fpu3") +(define_insn_reservation "znver4_sse_log_evex_store" 1 + (and (eq_attr "cpu" "znver4") + (and (eq_attr "type" "sselog") + (and (eq_attr "mode" "V16SF,V8DF,XI") + (eq_attr "memory" "store")))) + "znver4-direct,znver4-store,znver4-fpu0*2|znver4-fpu1*2|znver4-fpu2*2|znver4-fpu3*2") + +(define_insn_reservation "znver5_sse_log_evex_store" 1 + (and (eq_attr "cpu" "znver5") + (and (eq_attr "type" "sselog") + (and (eq_attr "mode" "V16SF,V8DF,XI") + (eq_attr "memory" "store")))) + "znver4-direct,znver5-store,znver4-fpu0|znver4-fpu1|znver4-fpu2|znver4-fpu3") + (define_insn_reservation "znver4_sse_log1_evex" 1 (and (eq_attr "cpu" "znver4") (and (eq_attr "type" "sselog1") -- 2.43.0