1 /* Testcase to check generation of a SH2A specific instruction
2    "BCLR #imm3,@(disp12,Rn)".  */
3 /* { dg-do compile { target { sh2a } } }  */
4 /* { dg-options "-O2 -mbitops" }  */
5 /* { dg-final { scan-assembler "bclr"} }  */
6 /* { dg-final { scan-assembler "bclr.b"} }  */
7 
8 volatile union un_paddr
9 {
10   unsigned char BYTE;
11   struct
12   {
13     unsigned char B15:1;
14     unsigned char B14:1;
15     unsigned char B13:1;
16     unsigned char B12:1;
17     unsigned char B11:1;
18     unsigned char B10:1;
19     unsigned char B9:1;
20     unsigned char B8:1;
21     unsigned char B7:1;
22     unsigned char B6:1;
23     unsigned char B5:1;
24     unsigned char B4:1;
25     unsigned char B3:1;
26     unsigned char B2:1;
27     unsigned char B1:1;
28     unsigned char B0:1;
29   }
30   BIT;
31 }
32 PADDR;
33 
34 int
main()35 main ()
36 {
37   PADDR.BIT.B0 = 0;
38   PADDR.BIT.B3 = 0;
39   PADDR.BIT.B6 = 0;
40 
41   PADDR.BIT.B1 &= 0;
42   PADDR.BIT.B4 &= 0;
43   PADDR.BIT.B7 &= 0;
44 
45   PADDR.BIT.B10 = 0;
46   PADDR.BIT.B13 = 0;
47   PADDR.BIT.B15 = 0;
48 
49   PADDR.BIT.B9 &= 0;
50   PADDR.BIT.B12 &= 0;
51   PADDR.BIT.B14 &= 0;
52 
53   return 0;
54 }
55