[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
This commit is contained in:
David Edelsohn 2002-02-22 21:07:21 -05:00
parent a5c305316d
commit e72247f417
3 changed files with 35 additions and 19 deletions

View File

@ -1,3 +1,20 @@
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.

View File

@ -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

View File

@ -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"