| /* |
| * test relax |
| * not.c <-> not! : register number must be in 0-15 |
| * neg.c <-> neg! : register number must be in 0-15 |
| * cmp.c <-> cmp! : register number must be in 0-15 |
| |
| * Author: ligang |
| */ |
| |
| /* This macro transform 32b instruction to 16b. */ |
| .macro tran3216 insn32, insn16 |
| .align 4 |
| |
| \insn32 r0, r7 #32b -> 16b |
| \insn16 r0, r7 |
| |
| \insn32 r15, r4 #32b -> 16b |
| \insn16 r15, r4 |
| |
| \insn32 r15, r15 #32b -> 16b |
| \insn16 r15, r15 |
| |
| \insn16 r15, r3 |
| \insn32 r15, r3 #32b -> 16b |
| |
| \insn32 r8, r2 #32b -> 16b |
| \insn32 r8, r2 #32b -> 16b |
| |
| \insn32 r15, r5 #No transform |
| \insn32 r26, r23 |
| |
| .endm |
| |
| /* This macro transform 16b instruction to 32b. */ |
| .macro tran1632 insn32, insn16 |
| .align 4 |
| |
| \insn16 r0, r2 #16b -> 32b |
| \insn32 r20, r21 |
| |
| \insn16 r15, r4 #16b -> 32b |
| \insn32 r25, r21 |
| |
| \insn16 r15, r3 #16b -> 32b |
| \insn32 r25, r22 |
| |
| \insn16 r8, r3 #No transform |
| \insn16 r8, r3 #No transform |
| |
| \insn16 r6, r2 #No transform |
| \insn32 r6, r2 #32b -> 16b |
| |
| \insn32 r7, r4 #32b -> 16b |
| \insn16 r7, r4 #No transform |
| |
| .endm |
| |
| .text |
| |
| tran3216 "not.c", "not!" |
| tran3216 "neg.c", "neg!" |
| tran3216 "cmp.c", "cmp!" |
| |
| tran1632 "not.c", "not!" |
| tran1632 "neg.c", "neg!" |
| tran1632 "cmp.c", "cmp!" |