1/* On H8/300 port, NOTICE_UPDATE_CC had a bug that causes the final 2 pass to remove test insns that should be kept. */ 3 4unsigned short 5test1 (unsigned short w) 6{ 7 if ((w & 0xff00) == 0) 8 { 9 if (w == 0) 10 w = 2; 11 } 12 return w; 13} 14 15unsigned long 16test2 (unsigned long w) 17{ 18 if ((w & 0xffff0000) == 0) 19 { 20 if (w == 0) 21 w = 2; 22 } 23 return w; 24} 25 26int 27test3 (unsigned short a) 28{ 29 if (a & 1) 30 return 1; 31 else if (a) 32 return 1; 33 else 34 return 0; 35} 36 37int 38main () 39{ 40 if (test1 (1) != 1) 41 abort (); 42 43 if (test2 (1) != 1) 44 abort (); 45 46 if (test3 (2) != 1) 47 abort (); 48 49 exit (0); 50} 51