aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2009-07-01 16:53:26 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2009-07-01 16:53:26 +0000
commit4aa7f896a9e7bc90d6db7c4b9ba833e037ea0e7c (patch)
treee67e25d3f4e32b1f7071612dab2c1ccc5a395349
parent3232e9d8b8877976b55a4c6715a025c7b240eb92 (diff)
downloadgcc-4aa7f896a9e7bc90d6db7c4b9ba833e037ea0e7c.zip
gcc-4aa7f896a9e7bc90d6db7c4b9ba833e037ea0e7c.tar.gz
gcc-4aa7f896a9e7bc90d6db7c4b9ba833e037ea0e7c.tar.bz2
re PR target/40575 (FAIL: gcc.dg/falign-labels-1.c execution test)
PR target/40575 * pa.md (casesi32p): Use jump table label to determine the offset of the jump table. (casesi64p): Likewise. From-SVN: r149144
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/pa/pa.md4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9b42f4f..022af0a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2009-07-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+ PR target/40575
+ * pa.md (casesi32p): Use jump table label to determine the offset
+ of the jump table.
+ (casesi64p): Likewise.
+
* pa.c (forward_branch_p): Return bool type. Use instruction addresses
when available. Assert that INSN has a jump label.
(pa_adjust_insn_length): Don't call forward_branch_p if INSN doesn't
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index 1f5a69b..a20f406 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -7130,7 +7130,7 @@
(clobber (match_scratch:SI 2 "=&r"))
(clobber (match_scratch:SI 3 "=&r"))]
"flag_pic"
- "{bl .+8,%2\;depi 0,31,2,%2|mfia %2}\;ldo {16|20}(%2),%2\;\
+ "{bl .+8,%2\;depi 0,31,2,%2|mfia %2}\;ldo {%l1-.|%l1+4-.}(%2),%2\;\
{ldwx|ldw},s %0(%2),%3\;{addl|add,l} %2,%3,%3\;bv,n %%r0(%3)"
[(set_attr "type" "multi")
(set (attr "length")
@@ -7148,7 +7148,7 @@
(clobber (match_scratch:DI 2 "=&r"))
(clobber (match_scratch:DI 3 "=&r"))]
""
- "mfia %2\;ldo 24(%2),%2\;ldw,s %0(%2),%3\;extrd,s %3,63,32,%3\;\
+ "mfia %2\;ldo %l1+4-.(%2),%2\;ldw,s %0(%2),%3\;extrd,s %3,63,32,%3\;\
add,l %2,%3,%3\;bv,n %%r0(%3)"
[(set_attr "type" "multi")
(set_attr "length" "24")])