[Bug tree-optimization/27725] error in loop invariant motion tranformation

2006-05-23 Thread alessandro dot lonardo at roma1 dot infn dot it
--- Comment #3 from alessandro dot lonardo at roma1 dot infn dot it 2006-05-23 09:22 --- (In reply to comment #2) Use: asm volatile(\tmovl (%1), %0\n \tincl %0\n :=r (res) : r (pi): memory); or asm volatile(\tmovl (%2), %0\n

[Bug tree-optimization/27725] error in loop invariant motion tranformation

2006-05-23 Thread pinskia at gcc dot gnu dot org
--- Comment #4 from pinskia at gcc dot gnu dot org 2006-05-23 15:36 --- Actually Loop invariant motion is still doing its job even if the asm does not clober memory, it does read memory and you did not record that. The correct way to fix this is: asm volatile(\tmovl (%1), %0\n

[Bug tree-optimization/27725] error in loop invariant motion tranformation

2006-05-22 Thread pinskia at gcc dot gnu dot org
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-05-22 17:32 --- asm volatile(\tmovl (%1), %0\n \tincl %0\n :=r (res) : r (pi)); You don't mark the access of pi as being clobering memory. -- pinskia at gcc dot gnu dot org changed:

[Bug tree-optimization/27725] error in loop invariant motion tranformation

2006-05-22 Thread pinskia at gcc dot gnu dot org
--- Comment #2 from pinskia at gcc dot gnu dot org 2006-05-22 17:35 --- Use: asm volatile(\tmovl (%1), %0\n \tincl %0\n :=r (res) : r (pi): memory); or asm volatile(\tmovl (%2), %0\n \tincl %0\n :=r (res), m(*pi) : r