aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-05-31 14:17:31 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-05-31 14:17:31 -0400
commit65d5cba82f9fd2a560367e184937b239f11aedbb (patch)
treea59a8cc4debeac44637646f18b6562d3c4d0f557
parentd56d7a26b8d9318614c54a690dc66ab557ea8f8e (diff)
downloadgcc-65d5cba82f9fd2a560367e184937b239f11aedbb.zip
gcc-65d5cba82f9fd2a560367e184937b239f11aedbb.tar.gz
gcc-65d5cba82f9fd2a560367e184937b239f11aedbb.tar.bz2
(symbolic HIGH patterns): Likewise.
(symbolic LO_SUM pattern): Likewise. From-SVN: r9848
-rw-r--r--gcc/config/pa/pa.md12
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index 7587865..36bb7bb 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -1448,7 +1448,7 @@
&& ! function_label_operand (operands[1])
&& ! read_only_operand (operands[1])
&& ! flag_pic"
- "addil L'%G1,%%r27"
+ "addil LR'%G1,%%r27"
[(set_attr "type" "binary")
(set_attr "length" "4")])
@@ -1492,7 +1492,13 @@
(high:SI (match_operand 1 "" "")))]
"(!flag_pic || !symbolic_operand (operands[1]), Pmode)
&& !is_function_label_plus_const (operands[1])"
- "ldil L'%G1,%0"
+ "*
+{
+ if (symbolic_operand (operands[1], Pmode))
+ return \"ldil LR'%G1,%0\";
+ else
+ return \"ldil L'%G1,%0\";
+}"
[(set_attr "type" "move")
(set_attr "length" "4")])
@@ -1531,6 +1537,8 @@
{
if (flag_pic && symbolic_operand (operands[2], Pmode))
abort ();
+ else if (symbolic_operand (operands[2], Pmode))
+ return \"ldo RR'%G2(%1),%0\";
else
return \"ldo R'%G2(%1),%0\";
}"