4.4BSD/usr/src/old/pcc/c2.tahoe/NOTES.2
This bug bears some striking similarities to the previous one...
Sample code:
std r0 # these three instructions get deleted
movl 4(r12),r2 # here too, but shouldn't
ldd r0 # here too
test
jump
use of r2
label:
instruction that kills r0
If the movl is reordered above the std, it won't be deleted; if
reordered below the ldd, it's still zapped. If the test is 'tstl
r12', it can get deleted too... It doesn't seem to matter very
much what the jump or use of r2 are, provided the jump is a relational
one, of course.