X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=gas%2Ftestsuite%2Fgas%2Fscore%2Farith_32.s;fp=gas%2Ftestsuite%2Fgas%2Fscore%2Farith_32.s;h=7e2f76b5afeb74609e1d32172a0ffcdf3baf86b4;hp=0000000000000000000000000000000000000000;hb=d5da4f291af551c0b8b79e1d4a9b173d60e5c10e;hpb=7b5ea4fcdf2819e070665ab5610f8b48e3867c10 diff --git a/gas/testsuite/gas/score/arith_32.s b/gas/testsuite/gas/score/arith_32.s new file mode 100644 index 0000000..7e2f76b --- /dev/null +++ b/gas/testsuite/gas/score/arith_32.s @@ -0,0 +1,43 @@ +/* + * tests for arithmetic instruction relaxation + * + * Author: libin + */ + +.include "relaxation_macro.h" + +.macro _arith_op_pattern insn insn1 + insn_32 "\insn r0, r0, r15" + + tran_16_32 "\insn! r0, r15", "\insn r0, r0, r15" + + /* shouldn't alter */ + .set r1 + insn_32 "\insn1 r0, r0, r15" + insn_32 "\insn r0, r0, r16" + insn_32 "\insn r16, r16, r0" + insn_32 "\insn r16, r16, r17" + insn_32 "\insn r0, r1, r2" +.endm + +.text +/* add rD,rA,rB -> add! rD,rA */ +_arith_op_pattern "add", "add.c" + +/* sub rD,rA,rB -> sub rD,rA */ +_arith_op_pattern "sub", "sub.c" + +/* addi rD,SImm16 -> addi! rD,SImm6 */ +insn_32 "addi r0, -32" +insn_32 "addi r0, 31" +insn_32 "addi r15, -32" +insn_32 "addi r15, 31" + +tran_16_32 "addi! r0,-32", "addi r0,-32" + +/* shouldn't alter */ +insn_32 "addi.c r0, -32" +insn_32 "addi r0, -33" +insn_32 "addi r0, 32" +insn_32 "addi r16, -32" +insn_32 "addi r16, 31"