Home | History | Annotate | Download | only in score
      1 /*
      2  * test relax
      3  * bittst.c <-> bittst! : register number must be in 0-15
      4 
      5  * Author: ligang
      6  */
      7 
      8 /* This macro transform 32b instruction to 16b. */
      9 .macro tran3216 insn32, insn16
     10 
     11   \insn32 r0, 2         #32b -> 16b
     12   \insn16 r0, 2
     13 
     14   \insn32 r15, 4        #32b -> 16b
     15   \insn16 r15, 4
     16 
     17   \insn32 r15, 1        #32b -> 16b
     18   \insn16 r15, 1
     19 
     20   \insn16 r15, 3
     21   \insn32 r15, 3        #32b -> 16b
     22 
     23   \insn32 r8,  2        #32b -> 16b
     24   \insn32 r8,  2        #32b -> 16b
     25 
     26   \insn32 r15, 1        #No transform
     27   \insn32 r26, 4
     28 
     29 .endm
     30 
     31 /* This macro transform 16b instruction to 32b. */
     32 .macro tran1632 insn32, insn16
     33 .align 4
     34 
     35   \insn16 r0, 2         #16b -> 32b
     36   \insn32 r20, 2
     37 
     38   \insn16 r15, 4        #16b -> 32b
     39   \insn32 r25, 4
     40 
     41   \insn16 r15, 1        #16b -> 32b
     42   \insn32 r25, 1
     43 
     44   \insn16 r8, 1         #No transform
     45   \insn16 r8, 1         #No transform
     46 
     47   \insn16 r6, 4         #No transform
     48   \insn32 r6, 4         #32b -> 16b
     49 
     50   \insn32 r7, 3         #32b -> 16b
     51   \insn16 r7, 3         #No transform
     52 
     53 .endm
     54 
     55 .text
     56 
     57   tran3216 "bittst.c", "bittst!"
     58   tran1632 "bittst.c", "bittst!"
     59 
     60