[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:
parent
a5c305316d
commit
e72247f417
@ -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.
|
||||
|
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user