Home | History | Annotate | Download | only in score
      1 /*
      2  * tests for shift instruction relaxation
      3  *
      4  * Author: libin
      5  */
      6 
      7 .include "relaxation_macro.h"
      8 
      9 .macro _shift_op_pattern insn insn1
     10   insn_32 "\insn r0,  r0,  0"
     11   insn_32 "\insn r0,  r0,  31"
     12   insn_32 "\insn r15, r15, 0"
     13   insn_32 "\insn r15, r15, 31"
     14 
     15   tran_16_32 "\insn! r0, 0", "\insn r0, r0, 0"
     16 
     17   /* shouldn't alter */
     18   insn_32 "\insn1 r0,  r0, 0"
     19   insn_32 "\insn  r0,  r2, 0"
     20   insn_32 "\insn  r16,  r16, 0"
     21 .endm
     22 
     23 .text
     24 /* slli/srli rD,rA,Imm5 -> slli!/srli! rD,Imm5 */
     25 _shift_op_pattern "slli", "slli.c"
     26 _shift_op_pattern "srli", "srli.c"
     27