diff options
author | Richard Biener <rguenther@suse.de> | 2025-03-27 13:45:45 +0100 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2025-03-31 08:17:11 +0200 |
commit | a46430c85611ac7faec9507472b8736b89643659 (patch) | |
tree | 0df28e243f0664d2f777db97f0679be32f23e69f /gcc | |
parent | a0d1de846b992a626f8b1e9b42cc32de8f069e04 (diff) | |
download | gcc-a46430c85611ac7faec9507472b8736b89643659.zip gcc-a46430c85611ac7faec9507472b8736b89643659.tar.gz gcc-a46430c85611ac7faec9507472b8736b89643659.tar.bz2 |
target/119010 - reservations for Zen4/Zen5 movhlps to memory
The following adds missing reservations for the store variant of
sselog reservations covering
;; 112--> b 0: i1499 [dx-0x10]=vec_select(xmm10,parallel) :nothing
PR target/119010
* config/i386/zn4zn5.md (znver4_sse_log_evex_store,
znver5_sse_log_evex_store): New reservations.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/i386/zn4zn5.md | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/config/i386/zn4zn5.md b/gcc/config/i386/zn4zn5.md index 6720fda..1ac1d07 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") |