aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn David Anglin <dave@hiauly1.hia.nrc.ca>2002-09-11 02:45:09 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2002-09-11 02:45:09 +0000
commit77de9af25184a81db2a552455bb811a961c71b6d (patch)
treee84c543e5fced1d6ef6a348c7f8f81ca427295d9
parentbe26865df1939eaa0d9eed79ad9e2f713d405baf (diff)
downloadgcc-77de9af25184a81db2a552455bb811a961c71b6d.zip
gcc-77de9af25184a81db2a552455bb811a961c71b6d.tar.gz
gcc-77de9af25184a81db2a552455bb811a961c71b6d.tar.bz2
pa.md (extzv): Check predicates before emitting extzv_32.
* pa.md (extzv): Check predicates before emitting extzv_32. (insv): Likewise. From-SVN: r57018
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/pa/pa.md18
2 files changed, 19 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6242b77..14fa469 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-09-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.md (extzv): Check predicates before emitting extzv_32.
+ (insv): Likewise.
+
2002-09-10 Ulrich Weigand <uweigand@de.ibm.com>
* config/s390/s390.h (MOVE_MAX): Define to correct value.
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index 5da3806..bbd44fa 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -6621,8 +6621,13 @@
emit_insn (gen_extzv_64 (operands[0], operands[1],
operands[2], operands[3]));
else
- emit_insn (gen_extzv_32 (operands[0], operands[1],
- operands[2], operands[3]));
+ {
+ if (! uint5_operand (operands[2], SImode)
+ || ! uint5_operand (operands[3], SImode))
+ FAIL;
+ emit_insn (gen_extzv_32 (operands[0], operands[1],
+ operands[2], operands[3]));
+ }
DONE;
}")
@@ -6741,8 +6746,13 @@
emit_insn (gen_insv_64 (operands[0], operands[1],
operands[2], operands[3]));
else
- emit_insn (gen_insv_32 (operands[0], operands[1],
- operands[2], operands[3]));
+ {
+ if (! uint5_operand (operands[2], SImode)
+ || ! uint5_operand (operands[3], SImode))
+ FAIL;
+ emit_insn (gen_insv_32 (operands[0], operands[1],
+ operands[2], operands[3]));
+ }
DONE;
}")