aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2025-03-27 13:45:45 +0100
committerRichard Biener <rguenth@gcc.gnu.org>2025-03-31 08:17:11 +0200
commita46430c85611ac7faec9507472b8736b89643659 (patch)
tree0df28e243f0664d2f777db97f0679be32f23e69f /gcc
parenta0d1de846b992a626f8b1e9b42cc32de8f069e04 (diff)
downloadgcc-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.md14
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")