diff options
author | David Edelsohn <edelsohn@gnu.org> | 2005-11-04 03:20:44 +0000 |
---|---|---|
committer | David Edelsohn <edelsohn@gnu.org> | 2005-11-04 03:20:44 +0000 |
commit | 0ad71c850170bc6a9fbf93fbac13c88badcf2815 (patch) | |
tree | 2edc0ef278cc6fadaba0ebb030aa54224c790ed3 | |
parent | a7d1b2cedf2ebcdf38f1396b68acbf9d9ce45225 (diff) |
* config/rs6000/rs6000.c: Include params.h
(optimization_options): Set max-grow-copy-bb-insns default to 16.
(bdesc_2arg): Delete vpkuhss and vpkuwss.
* config/rs6000/altivec.md (UNSPEC_VPKUHSS): Delete.
(UNSPEC_VPKUWSS): Delete.
(altivec_vpkuhss): Delete.
(altivec_vpkuwss): Delete.
* config/rs6000/rs6000.md (plus_eqsi): Remove optimize_size from
final condition.
(neg_eq0<mode>): Remove final condition.
(neg_eq<mode>): Remove condition and split-condition.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@106479 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/config/rs6000/altivec.md | 22 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 8 |
3 files changed, 8 insertions, 28 deletions
diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md index 056a8160150..97e5f4c26ba 100644 --- a/gcc/config/rs6000/altivec.md +++ b/gcc/config/rs6000/altivec.md @@ -57,9 +57,7 @@ (UNSPEC_VPKUHUM 93) (UNSPEC_VPKUWUM 94) (UNSPEC_VPKPX 95) - (UNSPEC_VPKUHSS 96) (UNSPEC_VPKSHSS 97) - (UNSPEC_VPKUWSS 98) (UNSPEC_VPKSWSS 99) (UNSPEC_VPKUHUS 100) (UNSPEC_VPKSHUS 101) @@ -1105,16 +1103,6 @@ "vpkpx %0,%1,%2" [(set_attr "type" "vecperm")]) -(define_insn "altivec_vpkuhss" - [(set (match_operand:V16QI 0 "register_operand" "=v") - (unspec:V16QI [(match_operand:V8HI 1 "register_operand" "v") - (match_operand:V8HI 2 "register_operand" "v")] - UNSPEC_VPKUHSS)) - (set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))] - "TARGET_ALTIVEC" - "vpkuhss %0,%1,%2" - [(set_attr "type" "vecperm")]) - (define_insn "altivec_vpkshss" [(set (match_operand:V16QI 0 "register_operand" "=v") (unspec:V16QI [(match_operand:V8HI 1 "register_operand" "v") @@ -1125,16 +1113,6 @@ "vpkshss %0,%1,%2" [(set_attr "type" "vecperm")]) -(define_insn "altivec_vpkuwss" - [(set (match_operand:V8HI 0 "register_operand" "=v") - (unspec:V8HI [(match_operand:V4SI 1 "register_operand" "v") - (match_operand:V4SI 2 "register_operand" "v")] - UNSPEC_VPKUWSS)) - (set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))] - "TARGET_ALTIVEC" - "vpkuwss %0,%1,%2" - [(set_attr "type" "vecperm")]) - (define_insn "altivec_vpkswss" [(set (match_operand:V8HI 0 "register_operand" "=v") (unspec:V8HI [(match_operand:V4SI 1 "register_operand" "v") diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 8d51003e979..ab00425f817 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -54,6 +54,7 @@ #include "sched-int.h" #include "tree-gimple.h" #include "intl.h" +#include "params.h" #if TARGET_XCOFF #include "xcoffout.h" /* get declarations of xcoff_*_section_name */ #endif @@ -1573,6 +1574,9 @@ optimization_options (int level ATTRIBUTE_UNUSED, int size ATTRIBUTE_UNUSED) /* The Darwin libraries never set errno, so we might as well avoid calling them when that's the only reason we would. */ flag_errno_math = 0; + + /* Double growth factor to counter reduced min jump length. */ + set_param_value ("max-grow-copy-bb-insns", 16); } /* Implement TARGET_HANDLE_OPTION. */ @@ -5971,9 +5975,7 @@ static struct builtin_description bdesc_2arg[] = { MASK_ALTIVEC, CODE_FOR_altivec_vpkuhum, "__builtin_altivec_vpkuhum", ALTIVEC_BUILTIN_VPKUHUM }, { MASK_ALTIVEC, CODE_FOR_altivec_vpkuwum, "__builtin_altivec_vpkuwum", ALTIVEC_BUILTIN_VPKUWUM }, { MASK_ALTIVEC, CODE_FOR_altivec_vpkpx, "__builtin_altivec_vpkpx", ALTIVEC_BUILTIN_VPKPX }, - { MASK_ALTIVEC, CODE_FOR_altivec_vpkuhss, "__builtin_altivec_vpkuhss", ALTIVEC_BUILTIN_VPKUHSS }, { MASK_ALTIVEC, CODE_FOR_altivec_vpkshss, "__builtin_altivec_vpkshss", ALTIVEC_BUILTIN_VPKSHSS }, - { MASK_ALTIVEC, CODE_FOR_altivec_vpkuwss, "__builtin_altivec_vpkuwss", ALTIVEC_BUILTIN_VPKUWSS }, { MASK_ALTIVEC, CODE_FOR_altivec_vpkswss, "__builtin_altivec_vpkswss", ALTIVEC_BUILTIN_VPKSWSS }, { MASK_ALTIVEC, CODE_FOR_altivec_vpkuhus, "__builtin_altivec_vpkuhus", ALTIVEC_BUILTIN_VPKUHUS }, { MASK_ALTIVEC, CODE_FOR_altivec_vpkshus, "__builtin_altivec_vpkshus", ALTIVEC_BUILTIN_VPKSHUS }, diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 70a620f5569..1776b9a86e0 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -11264,7 +11264,7 @@ (plus:SI (eq:SI (match_operand:SI 1 "gpc_reg_operand" "%r,r,r,r,r") (match_operand:SI 2 "scc_eq_operand" "r,O,K,L,I")) (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r,r")))] - "TARGET_32BIT && optimize_size" + "TARGET_32BIT" "@ xor %0,%1,%2\;{sfi|subfic} %0,%0,0\;{aze|addze} %0,%3 {sfi|subfic} %0,%1,0\;{aze|addze} %0,%3 @@ -11364,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 || TARGET_POWER" + "" "{ai|addic} %0,%1,-1\;{sfe|subfe} %0,%0,%0" [(set_attr "type" "two") (set_attr "length" "8")]) @@ -11373,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 || TARGET_POWER" + "" "#" - "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) |