For future reference, proably by me: Reproducer for the crash without the local diff:
#!/bin/sh cat << EOF > oacc.i int a, b; int e() { short *c = 0; char d = c[a + 1]; b = d; a += 2; } EOF vax--netbsdelf-gcc -O2 -c oacc.i This hits an assertion: emit-rtl.c:2310 gcc_assert (memory_address_addr_space_p (mode, addr, as)); This points to vax code, vax_legitimate_address_p. This function might not handle some addressing modes, possibly one of these two: c: b0 40 9f 02 movw *0x2[r0],r1 c: 98 40 a0 02 cvtbl 0x2(r0)[r0],15 <e+0x15>