2018-02-09 Sebastian Perta <sebastian.perta@renesas.com>
[official-gcc.git] / gcc / testsuite / gcc.target / sh / sh2a-bld.c
blob0d4ab27ee3b4278375116b7736c0a8a9bbc247b9
1 /* A testcase to check generation of the following SH2A specific
2 instructions.
4 BLD #imm3, Rn
5 BLD.B #imm3, @(disp12, Rn)
6 */
7 /* { dg-do compile { target { sh2a } } } */
8 /* { dg-options "-Os -mbitops" } */
9 /* { dg-final { scan-assembler "bld"} } */
10 /* { dg-final { scan-assembler "bld.b"} } */
12 volatile struct
14 union
16 unsigned char BYTE;
17 struct
19 unsigned char BIT7:1;
20 unsigned char BIT6:1;
21 unsigned char BIT5:1;
22 unsigned char BIT4:1;
23 unsigned char BIT3:1;
24 unsigned char BIT2:1;
25 unsigned char BIT1:1;
26 unsigned char BIT0:1;
28 BIT;
30 ICR0;
32 USRSTR;
34 int
35 main ()
37 volatile unsigned char a, b, c;
38 USRSTR.ICR0.BIT.BIT6 &= a;
39 USRSTR.ICR0.BIT.BIT5 |= b;
40 USRSTR.ICR0.BIT.BIT4 ^= c;
41 return 0;