x86-64: also optimize ANDQ with immediate fitting in 7 bits
[deliverable/binutils-gdb.git] / gas / testsuite / gas / score / bit_32.s
1 /*
2 * tests for bit operations' instruction relaxation
3 *
4 * Author: libin
5 */
6
7 .include "relaxation_macro.h"
8
9 .macro _bit_op_pattern insn insn1
10 insn_32 "\insn r0, r0, 0"
11 insn_32 "\insn r0, r0, 0x1f"
12 insn_32 "\insn r15, r15, 0"
13 insn_32 "\insn r15, r15, 0x1f"
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 r16, r16, 0"
20 insn_32 "\insn r16, r16, 0x1f"
21 .endm
22
23 .text
24 /*
25 * bitclr rD,rA,BN5 -> bitclr! rD,BN5
26 * bitset rD,rA,BN5 -> bitset! rD,BN5
27 * bittgl rD,rA,BN5 -> bittgl! rD,BN5
28 */
29 _bit_op_pattern "bitclr", "bitclr.c"
30 _bit_op_pattern "bitset", "bitset.c"
31 _bit_op_pattern "bittgl", "bittgl.c"
32
33 /* bittst.c rA,BN5 <-> bittst! rD,BN5" */
34 insn_32 "bittst.c r0, 0"
35 insn_32 "bittst.c r0, 0x1f"
36 insn_32 "bittst.c r15, 0"
37 insn_32 "bittst.c r15, 0x1f"
38
39 tran_16_32 "bittst! r0,0", "bittst.c r0,0"
40
41 /* shouldn't alter */
42 insn_32 "bittst.c r16, 0"
43 insn_32 "bittst.c r16, 0x1f"
This page took 0.030772 seconds and 4 git commands to generate.