[Bug target/44618] Arguments are not passed correctly to out-of-line restore functions.

2011-04-27 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44618 Eric Botcazou changed: What|Removed |Added CC||sebastian.huber@embedded-br

[Bug target/44618] Arguments are not passed correctly to out-of-line restore functions.

2010-06-28 Thread edmar at freescale dot com
--- Comment #17 from edmar at freescale dot com 2010-06-28 15:19 --- Created an attachment (id=21028) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21028&action=view) Changelog for alternative patches -- edmar at freescale dot com changed: What|Removed

[Bug target/44618] Arguments are not passed correctly to out-of-line restore functions.

2010-06-28 Thread edmar at freescale dot com
--- Comment #16 from edmar at freescale dot com 2010-06-28 15:18 --- Created an attachment (id=21027) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21027&action=view) Alternative patch for 4.5 and trunk -- edmar at freescale dot com changed: What|Removed

[Bug target/44618] Arguments are not passed correctly to out-of-line restore functions.

2010-06-28 Thread edmar at freescale dot com
--- Comment #15 from edmar at freescale dot com 2010-06-28 15:17 --- Created an attachment (id=21026) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21026&action=view) Alternative patch that affects powerpc only -- edmar at freescale dot com changed: What|Removed

[Bug target/44618] Arguments are not passed correctly to out-of-line restore functions.

2010-06-28 Thread edmar at freescale dot com
--- Comment #14 from edmar at freescale dot com 2010-06-28 15:15 --- I am attaching new patches. One for gcc-4.4 and the other for gcc-4.5 and gcc-4.6. All three branches were bootstrapped and regression tested for both 32 bits powerpc (603e) and 64 bit powerpc (970) with no regressions

[Bug target/44618] Arguments are not passed correctly to out-of-line restore functions.

2010-06-22 Thread jakub at gcc dot gnu dot org
--- Comment #13 from jakub at gcc dot gnu dot org 2010-06-22 20:56 --- It looks much better than adding new single register constraints to me. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44618

[Bug target/44618] Arguments are not passed correctly to out-of-line restore functions.

2010-06-22 Thread edmar at freescale dot com
--- Comment #12 from edmar at freescale dot com 2010-06-22 20:51 --- Ok. Following your lines from comment 8, (You suggested to create 3 new constraint, "d", which would accepts only one register each (11, 12, 1), right ?). The following is more explicit, and would avoid to allocate 3 m

[Bug target/44618] Arguments are not passed correctly to out-of-line restore functions.

2010-06-22 Thread edmar at freescale dot com
--- Comment #11 from edmar at freescale dot com 2010-06-22 16:53 --- (In reply to comment #10) > Because the insn has a register reference to r11/r1/r12 :) that is the (use > (match_operand: )) part of the rtx. This is unlike call instructions which > don't have match_operands for funct

[Bug target/44618] Arguments are not passed correctly to out-of-line restore functions.

2010-06-21 Thread pinskia at gcc dot gnu dot org
--- Comment #10 from pinskia at gcc dot gnu dot org 2010-06-21 23:54 --- (In reply to comment #9) > Hummm, I will work on your input, But now I have more questions: > > 1) Why do you call this case as explicit, and function call arguments implicit > ? The way I see it, this is a specia

[Bug target/44618] Arguments are not passed correctly to out-of-line restore functions.

2010-06-21 Thread edmar at freescale dot com
--- Comment #9 from edmar at freescale dot com 2010-06-21 23:36 --- Hummm, I will work on your input, But now I have more questions: 1) Why do you call this case as explicit, and function call arguments implicit ? The way I see it, this is a special function call (implemented with a jum

[Bug target/44618] Arguments are not passed correctly to out-of-line restore functions.

2010-06-21 Thread pinskia at gcc dot gnu dot org
--- Comment #8 from pinskia at gcc dot gnu dot org 2010-06-21 21:29 --- (In reply to comment #7) > I mostly agree with you. But in this case, it is already a hard register (rtl > generated in epilogue). No the pattern accepts any registers which means register rename can rename the reg

[Bug target/44618] Arguments are not passed correctly to out-of-line restore functions.

2010-06-21 Thread edmar at freescale dot com
--- Comment #7 from edmar at freescale dot com 2010-06-21 21:18 --- (In reply to comment #6) > I think this is the wrong fix I think the problem is in the patterns not > using a hard register or a constraint that says only those registers can be > used. > > Confirmed. > I mostly

[Bug target/44618] Arguments are not passed correctly to out-of-line restore functions.

2010-06-21 Thread pinskia at gcc dot gnu dot org
--- Comment #6 from pinskia at gcc dot gnu dot org 2010-06-21 20:34 --- I think this is the wrong fix I think the problem is in the patterns not using a hard register or a constraint that says only those registers can be used. Confirmed. -- pinskia at gcc dot gnu dot org chang