# sh testcase for addc $rm, $rn -*- Asm -*- # mach: all # as: -isa=shcompact # ld: -m shelf32 .include "compact/testutils.inc" # Initialise some registers with values which help us to verify # that the correct source registers are used by the ADDC instruction. .macro init mov #0, r0 mov #1, r1 mov #2, r2 mov #3, r3 mov #5, r5 mov #15, r15 .endm start init add: clrt addc r0, r0 assert r0, #0 clrt addc r0, r1 assert r1, #1 clrt addc r1, r2 assert r2, #3 clrt addc r3, r5 assert r5, #8 clrt addc r5, r5 assert r5, #16 clrt addc r15, r1 assert r1, #16 init addt: sett addc r0, r0 assert r0, #1 sett addc r0, r1 assert r1, #3 sett addc r1, r2 assert r2, #6 sett addc r3, r5 assert r5, #9 sett addc r5, r5 assert r5, #19 sett addc r15, r1 assert r1, #19 bra next nop wrong: fail next: init large: clrt mov #1, r0 neg r0, r0 mov #2, r1 addc r0, r1 assert r1, #1 init larget: sett mov #1, r0 neg r0, r0 mov #2, r1 addc r0, r1 assert r1, #2 okay: pass