summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
blob: 88528f11e121d7aa16607e4e4024ce01124e0fd4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6k" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
/* { dg-options "-mthumb -Os -mfloat-abi=softfp" } */
/* { dg-add-options arm_arch_v6k } */

long
get_number (char *s, long size, int unsigned_p)
{
  long x;
  unsigned char *p = (unsigned char *) s;
  switch (size)
    {
    case 4:
      x = ((long) p[3] << 24) | ((long) p[2] << 16) | (p[1] << 8) | p[0];
      return x;
    }
}