summaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/rs6000-protos.h
diff options
context:
space:
mode:
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2002-07-24 07:53:36 +0000
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2002-07-24 07:53:36 +0000
commit59a5187e3e9bd32800d6ab19b9c3722ca83bfaf0 (patch)
treec58a37939b81063b875e3b312c25c7611f592ae2 /gcc/config/rs6000/rs6000-protos.h
parent5305c5bd6942b72a1c8169a6fb4e0058077b9954 (diff)
downloadgcc-59a5187e3e9bd32800d6ab19b9c3722ca83bfaf0.tar.gz
* config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
(mask64_2_operand): Declare. (build_mask64_2_operands): Declare. (and64_2_operand): Declare. (extract_MB): Declare. (extract_ME): Declare. * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove CONST_DOUBLE code. (mask_operand_wrap): New insn predicate. (mask64_2_operand): Likewise. (and64_2_operand): Likewise. (build_mask64_2_operands): New function. (extract_MB): New function. (extract_ME): New function. (print_operand <case m,M>): Use extract_MB and extract_ME. (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support. * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'. (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and mask64_2_operand. Remove CONST_DOUBLE from mask64_operand. * config/rs6000/rs6000.md (andsi3_internal3): New (andsi3_internal3+1): Enable split for powerpc64. (andsi3_internal3+2): New split. (andsi3_internal4): Renamed old andsi3_internal3. (andsi3_internal5): New. (andsi3_internal5+1): Enable split for powerpc64. (andsi3_internal5+2): New split. (andsi3_internal6, andsi3_internal7, andsi3_internal8): New. (anddi3): Handle 't' constraint. (anddi3+1): New split. (anddi3_internal2): Handle 't' constraint. (anddi3_internal2+1): New split. (anddi3_internal3): Handle 't' constraint. (anddi3_internal3+1): New split. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55701 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/rs6000/rs6000-protos.h')
-rw-r--r--gcc/config/rs6000/rs6000-protos.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h
index 50a75c72e2c..652cfb9f40a 100644
--- a/gcc/config/rs6000/rs6000-protos.h
+++ b/gcc/config/rs6000/rs6000-protos.h
@@ -64,8 +64,12 @@ extern int non_add_cint_operand PARAMS ((rtx, enum machine_mode));
extern int non_logical_cint_operand PARAMS ((rtx, enum machine_mode));
extern int logical_operand PARAMS ((rtx, enum machine_mode));
extern int mask_operand PARAMS ((rtx, enum machine_mode));
+extern int mask_operand_wrap PARAMS ((rtx, enum machine_mode));
extern int mask64_operand PARAMS ((rtx, enum machine_mode));
+extern int mask64_2_operand PARAMS ((rtx, enum machine_mode));
+extern void build_mask64_2_operands PARAMS ((rtx, rtx *));
extern int and64_operand PARAMS ((rtx, enum machine_mode));
+extern int and64_2_operand PARAMS ((rtx, enum machine_mode));
extern int and_operand PARAMS ((rtx, enum machine_mode));
extern int count_register_operand PARAMS ((rtx, enum machine_mode));
extern int xer_operand PARAMS ((rtx, enum machine_mode));
@@ -98,6 +102,8 @@ extern int addrs_ok_for_quad_peep PARAMS ((rtx, rtx));
extern enum reg_class secondary_reload_class PARAMS ((enum reg_class,
enum machine_mode, rtx));
extern int ccr_bit PARAMS ((rtx, int));
+extern int extract_MB PARAMS ((rtx));
+extern int extract_ME PARAMS ((rtx));
extern void print_operand PARAMS ((FILE *, rtx, int));
extern void print_operand_address PARAMS ((FILE *, rtx));
extern enum rtx_code rs6000_reverse_condition PARAMS ((enum machine_mode,