Commit e26b63b2 by Richard Henderson Committed by Richard Henderson

alpha.md (one_cmpl<mode>2, [...]): New macroized vector operate patterns.

        * config/alpha/alpha.md (one_cmpl<mode>2, and<mode>3, andnot<mode>3,
        ior<mode>3, iornot<mode>3, xor<mode>3, xornot<mode>3): New macroized
        vector operate patterns.

From-SVN: r92545
parent 3e8aba34
2004-12-23 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.md (one_cmpl<mode>2, and<mode>3, andnot<mode>3,
ior<mode>3, iornot<mode>3, xor<mode>3, xornot<mode>3): New macroized
vector operate patterns.
2004-12-23 Richard Henderson <rth@redhat.com>
* config/i386/i386.c (ix86_expand_vector_move): Tidy.
(ix86_expand_vector_move_misalign): New.
(ix86_misaligned_mem_ok): Remove.
......
......@@ -6207,6 +6207,61 @@
"TARGET_MAX"
"maxsw4 %r1,%r2,%0"
[(set_attr "type" "mvi")])
(define_insn "one_cmpl<mode>2"
[(set (match_operand:VEC 0 "register_operand" "=r")
(not:VEC (match_operand:VEC 1 "register_operand" "r")))]
""
"ornot $31,%1,%0"
[(set_attr "type" "ilog")])
(define_insn "and<mode>3"
[(set (match_operand:VEC 0 "register_operand" "=r")
(and:VEC (match_operand:VEC 1 "register_operand" "r")
(match_operand:VEC 2 "register_operand" "r")))]
""
"and %1,%2,%0"
[(set_attr "type" "ilog")])
(define_insn "*andnot<mode>3"
[(set (match_operand:VEC 0 "register_operand" "=r")
(and:VEC (not:VEC (match_operand:VEC 1 "register_operand" "r"))
(match_operand:VEC 2 "register_operand" "r")))]
""
"bic %2,%1,%0"
[(set_attr "type" "ilog")])
(define_insn "ior<mode>3"
[(set (match_operand:VEC 0 "register_operand" "=r")
(ior:VEC (match_operand:VEC 1 "register_operand" "r")
(match_operand:VEC 2 "register_operand" "r")))]
""
"bis %1,%2,%0"
[(set_attr "type" "ilog")])
(define_insn "*iornot<mode>3"
[(set (match_operand:VEC 0 "register_operand" "=r")
(ior:VEC (not:DI (match_operand:VEC 1 "register_operand" "r"))
(match_operand:VEC 2 "register_operand" "r")))]
""
"ornot %2,%1,%0"
[(set_attr "type" "ilog")])
(define_insn "xor<mode>3"
[(set (match_operand:VEC 0 "register_operand" "=r")
(xor:VEC (match_operand:VEC 1 "register_operand" "r")
(match_operand:VEC 2 "register_operand" "r")))]
""
"xor %1,%2,%0"
[(set_attr "type" "ilog")])
(define_insn "*xornot<mode>3"
[(set (match_operand:VEC 0 "register_operand" "=r")
(not:VEC (xor:VEC (match_operand:VEC 1 "register_operand" "r")
(match_operand:VEC 2 "register_operand" "r"))))]
""
"eqv %1,%2,%0"
[(set_attr "type" "ilog")])
;; Bit field extract patterns which use ext[wlq][lh]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment