aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/arm/pure-code/no-casesi.c
blob: ba116a8261b16610e6af47d26a6e1a07b0127561 (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
/* { dg-do compile } */
/* { dg-options "-mpure-code" } */
/* { dg-skip-if "" { *-*-* } { "-g" "-fpic" "-fPIC" } { "" } } */

extern int foo (void);
extern int bar (void);
extern int baz (void);
extern int fooz (void);

int caller (unsigned int reg_type)
{
  switch (reg_type)
    {
    case 0x80000000:
      return (int) foo ();

    case 0x80000003:
      return (int) bar ();

    case 0x80000001:
      return (int) baz ();

    case 0x80000004:
      return (int) fooz ();
    }
}

/* { dg-final { scan-assembler-not "\\.(float|l\\?double|\d?byte|short|int|long|quad|word)\\s+\[^.\]" } } */
/* { dg-final { scan-assembler "text,\"0x20000006\"" } } */