https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84438
Patrick Conlon <cptjustice at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |cptjustice at gmail dot com --- Comment #1 from Patrick Conlon <cptjustice at gmail dot com> --- gcc version 9.0.0 20180808 (experimental) (GCC) does not give me this compiler error. pdp11-aout-gcc -m10 -S 43447_divide_tp_by_10_return_remainder.c -o 43447_divide_tp_by_10_return_remainder.s outputs: cat 43447_divide_tp_by_10_return_remainder.s .text .even _div10quickm: mov r5,-(sp) mov sp,r5 add $-020,sp mov r2,-(sp) mov r3,-(sp) mov 04(r5),r0 mov (r0),-04(r5) mov 02(r0),-02(r5) mov -04(r5),r0 mov -02(r5),r1 clc ror r0 ror r1 mov r0,-020(r5) mov r1,-016(r5) mov -04(r5),r0 mov -02(r5),r1 clc ror r0 ror r1 asr r0 ror r1 mov -020(r5),r2 mov -016(r5),r3 add r0,r2 add r1,r3 adc r2 mov r2,-010(r5) mov r3,-06(r5) mov -010(r5),r0 mov -06(r5),r1 mov $04,r2 mov -010(r5),r0 mov -06(r5),r1 L_7: clc ror r0 ror r1 dec r2 bne L_7 add r0,-010(r5) add r1,-06(r5) adc -010(r5) mov -010(r5),r0 mov -06(r5),r1 mov $010,r2 mov -010(r5),r0 mov -06(r5),r1 L_8: clc ror r0 ror r1 dec r2 bne L_8 add r0,-010(r5) add r1,-06(r5) adc -010(r5) mov -010(r5),r0 mov -06(r5),r1 mov $020,r2 mov -010(r5),r0 mov -06(r5),r1 L_9: clc ror r0 ror r1 dec r2 bne L_9 add r0,-010(r5) add r1,-06(r5) adc -010(r5) clc ror -010(r5) ror -06(r5) asr -010(r5) ror -06(r5) asr -010(r5) ror -06(r5) mov -010(r5),r0 mov -06(r5),r1 asl r1 rol r0 asl r1 rol r0 add -010(r5),r0 add -06(r5),r1 adc r0 asl r1 rol r0 mov -04(r5),r2 mov -02(r5),r3 sub r0,r2 sub r1,r3 sbc r2 mov r2,-014(r5) mov r3,-012(r5) mov -014(r5),r0 mov -012(r5),r1 mov $011,r2 mov -014(r5),r0 mov -012(r5),r1 L_10: clc ror r0 ror r1 dec r2 bne L_10 mov -010(r5),r2 mov -06(r5),r3 add r0,r2 add r1,r3 adc r2 mov r2,-04(r5) mov r3,-02(r5) mov 04(r5),r0 mov -04(r5),(r0) mov -02(r5),02(r0) asl -02(r5) rol -04(r5) mov -04(r5),r0 mov -02(r5),r1 asl r1 rol r0 asl r1 rol r0 add r0,-04(r5) add r1,-02(r5) adc -04(r5) mov 04(r5),r0 mov (r0),r0 mov 02(r0),r1 sub -04(r5),r0 sub -02(r5),r1 sbc r0 mov (sp)+,r3 mov (sp)+,r2 mov r5,sp mov (sp)+,r5 rts pc cptnapalm@oracle~/s/p/p/g/84438_alan_cox> pdp11-aout-gcc -v Using built-in specs. COLLECT_GCC=pdp11-aout-gcc COLLECT_LTO_WRAPPER=/home/cptnapalm/opt/pdp11-aout/libexec/gcc/pdp11-aout/9.0.0/lto-wrapper Target: pdp11-aout Configured with: /home/cptnapalm/src/gnu/gcc/configure --target=pdp11-aout --prefix=/home/cptnapalm/opt/pdp11-aout --disable-libstdcxx --disable-nls --without-headers --enable-languages=c : (reconfigured) /home/cptnapalm/src/gnu/gcc/configure --target=pdp11-aout --prefix=/home/cptnapalm/opt/pdp11-aout --disable-libstdcxx --disable-nls --without-headers --enable-languages=c --disable-libssp : (reconfigured) /home/cptnapalm/src/gnu/gcc/configure --target=pdp11-aout --prefix=/home/cptnapalm/opt/pdp11-aout --disable-libstdcxx --disable-nls --without-headers --enable-languages=c --disable-libssp Thread model: single gcc version 9.0.0 20180808 (experimental) (GCC)