ubuntu-buildroot/output/build/host-gcc-initial-11.4.0/gcc/testsuite/gcc.target/sh/sh2a-bld.c

43 lines
791 B
C
Raw Permalink Normal View History

2024-04-01 15:19:46 +00:00
/* A testcase to check generation of the following SH2A specific
instructions.
BLD #imm3, Rn
BLD.B #imm3, @(disp12, Rn)
*/
/* { dg-do compile { target { sh2a } } } */
/* { dg-options "-Os -mbitops" } */
/* { 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;
}