Commit e72247f4 by David Edelsohn

[multiple changes]

2002-02-23  David Edelsohn  <edelsohn@gnu.org>

        * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
        gpc_reg_operand constraint.

2002-02-23  Alan Modra  <amodra@bigpond.net.au>

        * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
        Simplify comparison of `low'.
        (add_operand): Fix formatting.
        (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
        (rs6000_stack_info): Remove redundant test setting push_p.
        (output_toc): Fix formatting.
        * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
        cc_reg_not_cr0_operand constraint.
        (booldi3, boolcdi3 splitters): Same.

From-SVN: r49983
parent a5c30531
2002-02-23 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
gpc_reg_operand constraint.
2002-02-23 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
Simplify comparison of `low'.
(add_operand): Fix formatting.
(non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
(rs6000_stack_info): Remove redundant test setting push_p.
(output_toc): Fix formatting.
* config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
cc_reg_not_cr0_operand constraint.
(booldi3, boolcdi3 splitters): Same.
2002-02-23 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/altivec.h: Add extra level of parentheses on casts.
......
......@@ -1080,7 +1080,7 @@ num_insns_constant (op, mode)
REAL_VALUE_FROM_CONST_DOUBLE (rv, op);
REAL_VALUE_TO_TARGET_SINGLE (rv, l);
return num_insns_constant_wide ((HOST_WIDE_INT)l);
return num_insns_constant_wide ((HOST_WIDE_INT) l);
}
else if (GET_CODE (op) == CONST_DOUBLE)
......@@ -1110,10 +1110,10 @@ num_insns_constant (op, mode)
else
{
if (high == 0 && (low & 0x80000000) == 0)
if (high == 0 && low >= 0)
return num_insns_constant_wide (low);
else if (high == -1 && (low & 0x80000000) != 0)
else if (high == -1 && low < 0)
return num_insns_constant_wide (low);
else if (mask64_operand (op, mode))
......@@ -1312,8 +1312,8 @@ add_operand (op, mode)
enum machine_mode mode;
{
if (GET_CODE (op) == CONST_INT)
return (CONST_OK_FOR_LETTER_P (INTVAL(op), 'I')
|| CONST_OK_FOR_LETTER_P (INTVAL(op), 'L'));
return (CONST_OK_FOR_LETTER_P (INTVAL (op), 'I')
|| CONST_OK_FOR_LETTER_P (INTVAL (op), 'L'));
return gpc_reg_operand (op, mode);
}
......@@ -1326,8 +1326,8 @@ non_add_cint_operand (op, mode)
enum machine_mode mode ATTRIBUTE_UNUSED;
{
return (GET_CODE (op) == CONST_INT
&& (unsigned HOST_WIDE_INT) (INTVAL (op) + 0x8000) >= 0x10000
&& ! CONST_OK_FOR_LETTER_P (INTVAL (op), 'L'));
&& !CONST_OK_FOR_LETTER_P (INTVAL (op), 'I')
&& !CONST_OK_FOR_LETTER_P (INTVAL (op), 'L'));
}
/* Return 1 if the operand is a non-special register or a constant that
......@@ -7878,8 +7878,7 @@ rs6000_stack_info ()
info_ptr->push_p = 1;
else if (abi == ABI_V4)
info_ptr->push_p = (total_raw_size > info_ptr->fixed_size
|| info_ptr->calls_p);
info_ptr->push_p = total_raw_size > info_ptr->fixed_size;
else
info_ptr->push_p = (frame_pointer_needed
......@@ -10210,7 +10209,7 @@ output_toc (file, x, labelno, mode)
if (TARGET_MINIMAL_TOC)
fputs (DOUBLE_INT_ASM_OP, file);
else
fprintf (file, "\t.tc ID_%lx_%lx[TC],", (long)high, (long)low);
fprintf (file, "\t.tc ID_%lx_%lx[TC],", (long) high, (long) low);
fprintf (file, "0x%lx%08lx\n", (long) high, (long) low);
return;
}
......@@ -10222,7 +10221,7 @@ output_toc (file, x, labelno, mode)
fputs ("\t.long ", file);
else
fprintf (file, "\t.tc ID_%lx_%lx[TC],",
(long)high, (long)low);
(long) high, (long) low);
fprintf (file, "0x%lx,0x%lx\n", (long) high, (long) low);
}
else
......
......@@ -2982,7 +2982,7 @@
(set_attr "length" "4,8")])
(define_split
[(set (match_operand:CC 3 "cc_reg_operand" "")
[(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")
(compare:CC (match_operator:SI 4 "boolean_operator"
[(match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "gpc_reg_operand" "")])
......@@ -3070,7 +3070,7 @@
(set_attr "length" "4,8")])
(define_split
[(set (match_operand:CC 3 "cc_reg_operand" "")
[(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")
(compare:CC (match_operator:SI 4 "boolean_operator"
[(not:SI (match_operand:SI 1 "gpc_reg_operand" ""))
(match_operand:SI 2 "gpc_reg_operand" "")])
......@@ -3136,7 +3136,7 @@
(set_attr "length" "4,8")])
(define_split
[(set (match_operand:CC 3 "cc_reg_operand" "")
[(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")
(compare:CC (match_operator:SI 4 "boolean_operator"
[(not:SI (match_operand:SI 1 "gpc_reg_operand" ""))
(not:SI (match_operand:SI 2 "gpc_reg_operand" ""))])
......@@ -7295,7 +7295,7 @@
(set_attr "length" "4,8")])
(define_split
[(set (match_operand:CC 3 "cc_reg_operand" "")
[(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")
(compare:CC (match_operator:DI 4 "boolean_operator"
[(match_operand:DI 1 "gpc_reg_operand" "")
(match_operand:DI 2 "gpc_reg_operand" "")])
......@@ -7395,7 +7395,7 @@
(set_attr "length" "4,8")])
(define_split
[(set (match_operand:CC 3 "cc_reg_operand" "")
[(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")
(compare:CC (match_operator:DI 4 "boolean_operator"
[(not:DI (match_operand:DI 1 "gpc_reg_operand" ""))
(match_operand:DI 2 "gpc_reg_operand" "")])
......@@ -7461,7 +7461,7 @@
(set_attr "length" "4,8")])
(define_split
[(set (match_operand:CC 3 "cc_reg_operand" "")
[(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")
(compare:CC (match_operator:DI 4 "boolean_operator"
[(not:DI (match_operand:DI 1 "gpc_reg_operand" ""))
(not:DI (match_operand:DI 2 "gpc_reg_operand" ""))])
......@@ -9544,7 +9544,7 @@
;; Code to initialize the TOC register...
(define_insn "load_toc_aix_si"
[(parallel [(set (match_operand:SI 0 "register_operand" "=r")
[(parallel [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(unspec:SI [(const_int 0)] 7))
(use (reg:SI 2))])]
"DEFAULT_ABI == ABI_AIX && TARGET_32BIT"
......@@ -9559,7 +9559,7 @@
[(set_attr "type" "load")])
(define_insn "load_toc_aix_di"
[(parallel [(set (match_operand:DI 0 "register_operand" "=r")
[(parallel [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
(unspec:DI [(const_int 0)] 7))
(use (reg:DI 2))])]
"DEFAULT_ABI == ABI_AIX && TARGET_64BIT"
......
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