blob: 1cf56fe271432dfa8f871fdb9d141c08d1dcc4c2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
/* A testcase to check generation of the following SH2A specific
instructions.
BLD #imm3, Rn
BLD.B #imm3, @(disp12, Rn)
*/
/* { dg-do assemble {target sh*-*-*}} */
/* { dg-options "-Os -mbitops" } */
/* { dg-skip-if "" { "sh*-*-*" } "*" "-m2a -m2a-nofpu -m2a-single -m2a-single-only" } */
/* { dg-final { scan-assembler "bld"} } */
/* { dg-final { scan-assembler "bld.b"} } */
volatile struct
{
union
{
unsigned char BYTE;
struct
{
unsigned char BIT7:1;
unsigned char BIT6:1;
unsigned char BIT5:1;
unsigned char BIT4:1;
unsigned char BIT3:1;
unsigned char BIT2:1;
unsigned char BIT1:1;
unsigned char BIT0:1;
}
BIT;
}
ICR0;
}
USRSTR;
int
main ()
{
volatile unsigned char a, b, c;
USRSTR.ICR0.BIT.BIT6 &= a;
USRSTR.ICR0.BIT.BIT5 |= b;
USRSTR.ICR0.BIT.BIT4 ^= c;
return 0;
}
|