]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
amdgcn: Add vector integer negate insn
authorAndrew Stubbs <ams@codesourcery.com>
Thu, 22 Sep 2022 11:48:30 +0000 (12:48 +0100)
committerAndrew Stubbs <ams@codesourcery.com>
Tue, 11 Oct 2022 10:49:25 +0000 (11:49 +0100)
Another example of the vectorizer needing explicit insns where the scalar
expander just works.

gcc/ChangeLog:

* config/gcn/gcn-valu.md (neg<mode>2): New define_expand.

gcc/config/gcn/gcn-valu.md

index f708e587f387775110062ff95a38d587b6f1cfd7..00c0e3be1ea433c8fd7b17f17a74f8db87f81ad0 100644 (file)
   [(set_attr "type" "vop2,ds")
    (set_attr "length" "8,8")])
 
+;; }}}
+;; {{{ Int unops
+
+(define_expand "neg<mode>2"
+  [(match_operand:V_INT 0 "register_operand")
+   (match_operand:V_INT 1 "register_operand")]
+  ""
+  {
+    emit_insn (gen_sub<mode>3 (operands[0], gcn_vec_constant (<MODE>mode, 0),
+                              operands[1]));
+    DONE;
+  })
+
 ;; }}}
 ;; {{{ FP binops - special cases