This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/28872] ARM inline assembly can be mispredicated.
- From: "ramana at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Dec 2009 20:26:46 -0000
- Subject: [Bug target/28872] ARM inline assembly can be mispredicated.
- References: <bug-28872-3264@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from ramana at gcc dot gnu dot org 2009-12-22 20:26 -------
(In reply to comment #1)
> The only reason for keeping the old predication-based code is that it can
> handle an important case that the generic code cannot. Specifically, it can
> conditionally skip a call to a function: this is not normally predicable since
> it clobbers the instruction codes. However, the arm-specific code knows that
> it is safe to do this iff the call instruction is the last instruction in the
> predicated sequence.
>
http://gcc.gnu.org/ml/gcc/2009-08/msg00154.html for a thread on the issues with
turning this off for ARM and conditional calls.
> If the MI code could be made to handle cases where the predicate register was
> clobbered by the last predicable instruction, then the need to keep the
> existing MD code could disappear in a puff of smoke.
>
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28872