mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-21 19:51:23 +08:00
rs6000.md (eqsi_power): New.
* config/rs6000/rs6000.md (eqsi_power): New. (neg_eq0si): Add TARGET_POWER to final condition. (neg_eqsi): Same. From-SVN: r105089
This commit is contained in:
parent
cb1208528e
commit
05f680972a
@ -1,3 +1,9 @@
|
||||
2005-10-07 David Edelsohn <edelsohn@gnu.org>
|
||||
|
||||
* config/rs6000/rs6000.md (eqsi_power): New.
|
||||
(neg_eq0si): Add TARGET_POWER to final condition.
|
||||
(neg_eqsi): Same.
|
||||
|
||||
2005-10-06 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* config/rs6000/rs6000.c: Revert last change.
|
||||
|
@ -11229,6 +11229,21 @@
|
||||
operands[5] = GEN_INT (exact_log2 (GET_MODE_BITSIZE (<MODE>mode)));
|
||||
})
|
||||
|
||||
(define_insn "*eqsi_power"
|
||||
[(set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r,r")
|
||||
(eq:SI (match_operand:SI 1 "gpc_reg_operand" "%r,r,r,r,r")
|
||||
(match_operand:SI 2 "reg_or_cint_operand" "r,O,K,L,I")))
|
||||
(clobber (match_scratch:SI 3 "=r,&r,r,r,r"))]
|
||||
"TARGET_POWER"
|
||||
"@
|
||||
xor %0,%1,%2\;{sfi|subfic} %3,%0,0\;{ae|adde} %0,%3,%0
|
||||
{sfi|subfic} %3,%1,0\;{ae|adde} %0,%3,%1
|
||||
{xoril|xori} %0,%1,%b2\;{sfi|subfic} %3,%0,0\;{ae|adde} %0,%3,%0
|
||||
{xoriu|xoris} %0,%1,%u2\;{sfi|subfic} %3,%0,0\;{ae|adde} %0,%3,%0
|
||||
{sfi|subfic} %0,%1,%2\;{sfi|subfic} %3,%0,0\;{ae|adde} %0,%3,%0"
|
||||
[(set_attr "type" "three,two,three,three,three")
|
||||
(set_attr "length" "12,8,12,12,12")])
|
||||
|
||||
;; We have insns of the form shown by the first define_insn below. If
|
||||
;; there is something inside the comparison operation, we must split it.
|
||||
(define_split
|
||||
@ -11349,7 +11364,7 @@
|
||||
[(set (match_operand:P 0 "gpc_reg_operand" "=r")
|
||||
(neg:P (eq:P (match_operand:P 1 "gpc_reg_operand" "r")
|
||||
(const_int 0))))]
|
||||
"optimize_size"
|
||||
"optimize_size || TARGET_POWER"
|
||||
"{ai|addic} %0,%1,-1\;{sfe|subfe} %0,%0,%0"
|
||||
[(set_attr "type" "two")
|
||||
(set_attr "length" "8")])
|
||||
@ -11358,9 +11373,9 @@
|
||||
[(set (match_operand:P 0 "gpc_reg_operand" "=r")
|
||||
(neg:P (eq:P (match_operand:P 1 "gpc_reg_operand" "%r")
|
||||
(match_operand:P 2 "scc_eq_operand" "<scc_eq_op2>"))))]
|
||||
"optimize_size"
|
||||
"optimize_size || TARGET_POWER"
|
||||
"#"
|
||||
"optimize_size"
|
||||
"optimize_size || TARGET_POWER"
|
||||
[(set (match_dup 0) (neg:P (eq:P (match_dup 3) (const_int 0))))]
|
||||
{
|
||||
if (GET_CODE (operands[2]) != CONST_INT || INTVAL (operands[2]) != 0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user