[Bug rtl-optimization/28140] asm gets lost between 125r.cse2 and 126r.life1

2006-06-22 Thread amylaar at gcc dot gnu dot org


--- Comment #1 from amylaar at gcc dot gnu dot org  2006-06-22 19:43 ---
Created an attachment (id=11731)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11731action=view)
test case

This test case should fail to assemble.  Yet it does at -O1 or higher.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28140



[Bug rtl-optimization/28140] asm gets lost between 125r.cse2 and 126r.life1

2006-06-22 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-06-22 20:56 ---
  __asm__ (choke_me %0 %1 %2 : +m (*p1), +m (*p2), +m (*p3));
  *p1 = val0;
  *p2 = val0;
  *p3 = val0;

Actually I don't think so since the asm is dead code as the stores to *p1, *p2,
and *p3 are dead by the next couple of statements.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28140



[Bug rtl-optimization/28140] asm gets lost between 125r.cse2 and 126r.life1

2006-06-22 Thread amylaar at gcc dot gnu dot org


--- Comment #3 from amylaar at gcc dot gnu dot org  2006-06-22 21:22 ---
(In reply to comment #2)
   __asm__ (choke_me %0 %1 %2 : +m (*p1), +m (*p2), +m (*p3));
   *p1 = val0;
   *p2 = val0;
   *p3 = val0;
 
 Actually I don't think so since the asm is dead code as the stores to *p1, 
 *p2,
 and *p3 are dead by the next couple of statements.
Hmm, that's true.


-- 

amylaar at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28140