]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/40575 (FAIL: gcc.dg/falign-labels-1.c execution test)
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Wed, 1 Jul 2009 16:53:26 +0000 (16:53 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Wed, 1 Jul 2009 16:53:26 +0000 (16:53 +0000)
PR target/40575
* pa.md (casesi32p): Use jump table label to determine the offset
of the jump table.
(casesi64p): Likewise.

From-SVN: r149144

gcc/ChangeLog
gcc/config/pa/pa.md

index 9b42f4f1df595e36c153cb7cfb2a50b873aeb55f..022af0a918e4710e4eb5b4537695ac0553105874 100644 (file)
@@ -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
index 1f5a69b9352cade59f574d19680cf1a983ffbf02..a20f406d347c8d6aefded36705454087e27454d4 100644 (file)
    (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")
    (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")])