1/* PR target/20583
2   On m68k-none-elf, CSE used to generate
3
4     (set (reg:HI ...)
5          (const:HI (truncate:HI (minus:SI (label_ref ...)
6                                           (label_ref ...)))))
7
8   which output functions do not know how to handle.  Make sure that
9   such a constant will be rejected.  */
10
11void bar (unsigned int);
12
13void
14foo (void)
15{
16  char buf[1] = { 3 };
17  const char *p = buf;
18  const char **q = &p;
19  unsigned int ch;
20  switch (**q)
21    {
22    case 1:  ch = 5; break;
23    case 2:  ch = 4; break;
24    case 3:  ch = 3; break;
25    case 4:  ch = 2; break;
26    case 5:  ch = 1; break;
27    default: ch = 0; break;
28    }
29  bar (ch);
30}
31