X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=gas%2Ftestsuite%2Fgas%2Fscore%2Fbit_32.s;fp=gas%2Ftestsuite%2Fgas%2Fscore%2Fbit_32.s;h=9490df4faf30e5a9da95ef841be27f9622a0e312;hp=0000000000000000000000000000000000000000;hb=88750007d7869f178f0ba528f41efd3b74c424cf;hpb=6df9443a374e2b81278c61b8afc0a1eef7db280b diff --git a/gas/testsuite/gas/score/bit_32.s b/gas/testsuite/gas/score/bit_32.s new file mode 100644 index 0000000..9490df4 --- /dev/null +++ b/gas/testsuite/gas/score/bit_32.s @@ -0,0 +1,43 @@ +/* + * tests for bit operations' instruction relaxation + * + * Author: libin + */ + +.include "relaxation_macro.h" + +.macro _bit_op_pattern insn insn1 + insn_32 "\insn r0, r0, 0" + insn_32 "\insn r0, r0, 0x1f" + insn_32 "\insn r15, r15, 0" + insn_32 "\insn r15, r15, 0x1f" + + tran_16_32 "\insn! r0,0", "\insn r0,r0,0" + + /* shouldn't alter */ + insn_32 "\insn1 r0, r0, 0" + insn_32 "\insn r16, r16, 0" + insn_32 "\insn r16, r16, 0x1f" +.endm + +.text +/* + * bitclr rD,rA,BN5 -> bitclr! rD,BN5 + * bitset rD,rA,BN5 -> bitset! rD,BN5 + * bittgl rD,rA,BN5 -> bittgl! rD,BN5 + */ +_bit_op_pattern "bitclr", "bitclr.c" +_bit_op_pattern "bitset", "bitset.c" +_bit_op_pattern "bittgl", "bittgl.c" + +/* bittst.c rA,BN5 <-> bittst! rD,BN5" */ +insn_32 "bittst.c r0, 0" +insn_32 "bittst.c r0, 0x1f" +insn_32 "bittst.c r15, 0" +insn_32 "bittst.c r15, 0x1f" + +tran_16_32 "bittst! r0,0", "bittst.c r0,0" + +/* shouldn't alter */ +insn_32 "bittst.c r16, 0" +insn_32 "bittst.c r16, 0x1f"