1 /* Testcase to check generation of a SH2A specific instruction 2 "BSET #imm3,@(disp12,Rn)". */ 3 /* { dg-do compile { target { sh2a } } } */ 4 /* { dg-options "-O2 -mbitops" } */ 5 /* { dg-final { scan-assembler "bset"} } */ 6 /* { dg-final { scan-assembler "bset.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()35main () 36 { 37 PADDR.BIT.B0 = 1; 38 PADDR.BIT.B3 = 1; 39 PADDR.BIT.B6 = 1; 40 41 PADDR.BIT.B1 |= 1; 42 PADDR.BIT.B4 |= 1; 43 PADDR.BIT.B7 |= 1; 44 45 PADDR.BIT.B10 = 1; 46 PADDR.BIT.B13 = 1; 47 PADDR.BIT.B15 = 1; 48 49 PADDR.BIT.B9 |= 1; 50 PADDR.BIT.B12 |= 1; 51 PADDR.BIT.B14 |= 1; 52 53 return 0; 54 } 55