Commit | Line | Data |
---|---|---|
c3b7224a NC |
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" |