Like the other instances.  This avoids

;;       1--> b  0: i6540 {xmm2=const_vector;unspec[xmm2] 38;}    :nothing

Bootstrapped and tested on x86_64-unknown-linux-gnu, OK?

        PR target/119010
        * config/i386/sse.md (*vmov<mode>_constm1_pternlog_false_dep):
        Add mode attribute.
---
 gcc/config/i386/sse.md | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index ed5ac1abe80..197cb04b938 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -1571,7 +1571,11 @@
    "TARGET_AVX512VL || <MODE_SIZE> == 64"
    "vpternlogd\t{$0xFF, %0, %0, %0|%0, %0, %0, 0xFF}"
   [(set_attr "type" "sselog1")
-   (set_attr "prefix" "evex")])
+   (set_attr "prefix" "evex")
+   (set (attr "mode")
+        (if_then_else (match_test "TARGET_AVX512VL")
+                     (const_string "<sseinsnmode>")
+                     (const_string "XI")))]
 
 ;; If mem_addr points to a memory region with less than whole vector size bytes
 ;; of accessible memory and k is a mask that would prevent reading the 
inaccessible
-- 
2.43.0

Reply via email to