[4478] in Athena Bugs
6.4R RT: hc2
daemon@ATHENA.MIT.EDU (Ken Raeburn)
Thu Mar 8 18:35:04 1990
Date: Thu, 8 Mar 90 18:34:46 -0500
From: Ken Raeburn <Raeburn@ATHENA.MIT.EDU>
To: bugs@ATHENA.MIT.EDU
Cc: jfc@ATHENA.MIT.EDU
On the source file:
extern int i[100];
void foo (void) {
int *ip;
for (ip = i; ip != i+100; ip++)
frob (ip);
}
both hc2.1s and 2.1y (still run from /afs/.../jfc/... because that's
what my script still says) produce useless compare/branch instructions
to see if i == i+100. Part of the instruction stream preceding the
loop (from 2.1y) is:
lda r13,_i # r13 = i
cal r12,400(r13) # r12 = r13 + 400
c r13,r12 # test r12 == r13 -- never true
When I compiled with `-v', hc2com from version 2.1y went into a pt_tty
wait state. (Yes, that's right, I do mean it was waiting for input
from the terminal....)