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
      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  }