summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2012-03-04 17:17:11 +0000
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2012-03-04 17:17:11 +0000
commit571ce147d937c3f96738d49cf07d8dde50faad9e (patch)
tree76dcd257052c665c7c5233fb33f36b3b5bdce114
parent467306a9835ebc3370c8b0f4b6fe000748f10814 (diff)
downloadgcc-571ce147d937c3f96738d49cf07d8dde50faad9e.tar.gz
Backport from mainline
2012-03-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR target/52408 * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to unsigned HOST_WIDE_INT. (zvdep_imm64): Likewise. (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT. (vdepi_and): Likewise. Likewise for unamed 64-bit patterns. * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@184889 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog14
-rw-r--r--gcc/config/pa/pa.md12
-rw-r--r--gcc/config/pa/predicates.md6
3 files changed, 23 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 512a12edd38..8714596fb32 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,17 @@
+2012-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ Backport from mainline
+ 2012-03-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/52408
+ * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to
+ unsigned HOST_WIDE_INT.
+ (zvdep_imm64): Likewise.
+ (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT.
+ (vdepi_and): Likewise.
+ Likewise for unamed 64-bit patterns.
+ * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment.
+
2012-02-23 Uros Bizjak <ubizjak@gmail.com>
PR c/52290
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index 41dadcd9478..04ed1a0e21b 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -7011,7 +7011,7 @@
""
"*
{
- int x = INTVAL (operands[1]);
+ unsigned HOST_WIDE_INT x = UINTVAL (operands[1]);
operands[2] = GEN_INT (4 + exact_log2 ((x >> 4) + 1));
operands[1] = GEN_INT ((x & 0xf) - 0x10);
return \"{zvdepi %1,%2,%0|depwi,z %1,%%sar,%2,%0}\";
@@ -7029,7 +7029,7 @@
"exact_log2 (INTVAL (operands[1]) + 1) > 0"
"*
{
- int x = INTVAL (operands[1]);
+ HOST_WIDE_INT x = INTVAL (operands[1]);
operands[2] = GEN_INT (exact_log2 (x + 1));
return \"{vdepi -1,%2,%0|depwi -1,%%sar,%2,%0}\";
}"
@@ -7046,7 +7046,7 @@
"INTVAL (operands[1]) == -2"
"*
{
- int x = INTVAL (operands[1]);
+ HOST_WIDE_INT x = INTVAL (operands[1]);
operands[2] = GEN_INT (exact_log2 ((~x) + 1));
return \"{vdepi 0,%2,%0|depwi 0,%%sar,%2,%0}\";
}"
@@ -7110,7 +7110,7 @@
"TARGET_64BIT"
"*
{
- int x = INTVAL (operands[1]);
+ unsigned HOST_WIDE_INT x = UINTVAL (operands[1]);
operands[2] = GEN_INT (4 + exact_log2 ((x >> 4) + 1));
operands[1] = GEN_INT ((x & 0x1f) - 0x20);
return \"depdi,z %1,%%sar,%2,%0\";
@@ -7128,7 +7128,7 @@
"TARGET_64BIT && exact_log2 (INTVAL (operands[1]) + 1) > 0"
"*
{
- int x = INTVAL (operands[1]);
+ HOST_WIDE_INT x = INTVAL (operands[1]);
operands[2] = GEN_INT (exact_log2 (x + 1));
return \"depdi -1,%%sar,%2,%0\";
}"
@@ -7145,7 +7145,7 @@
"TARGET_64BIT && INTVAL (operands[1]) == -2"
"*
{
- int x = INTVAL (operands[1]);
+ HOST_WIDE_INT x = INTVAL (operands[1]);
operands[2] = GEN_INT (exact_log2 ((~x) + 1));
return \"depdi 0,%%sar,%2,%0\";
}"
diff --git a/gcc/config/pa/predicates.md b/gcc/config/pa/predicates.md
index deca0f459f8..213c9b46877 100644
--- a/gcc/config/pa/predicates.md
+++ b/gcc/config/pa/predicates.md
@@ -420,9 +420,9 @@
(ior (match_operand 0 "register_operand")
(match_operand 0 "cint_ior_operand")))
-;; True iff OP is a CONST_INT of the forms 0...0xxxx or
-;; 0...01...1xxxx. Such values can be the left hand side x in (x <<
-;; r), using the zvdepi instruction.
+;; True iff OP is a CONST_INT of the forms 0...0xxxx, 0...01...1xxxx,
+;; or 1...1xxxx. Such values can be the left hand side x in (x << r),
+;; using the zvdepi instruction.
(define_predicate "lhs_lshift_cint_operand"
(match_code "const_int")