OSDN Git Service

* expmed.c (store_bit_field_1): Properly truncate the paradoxical
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.target / mips / octeon-exts-5.c
1 /* -mel version of octeon-exts-2.c.  */
2 /* { dg-do compile } */
3 /* { dg-options "-O -march=octeon -mel" } */
4 /* { dg-final { scan-assembler-times "\texts\t" 4 } } */
5
6 struct bar
7 {
8   long long d:1;
9   unsigned long long c:48;
10   long long b:14;
11   unsigned long long a:1;
12 };
13
14 NOMIPS16 int
15 f1 (struct bar *s, int a)
16 {
17   return (int) s->b + a;
18 }
19
20 NOMIPS16 char
21 f2 (struct bar *s)
22 {
23   return s->d + 1;
24 }
25
26 NOMIPS16 int
27 f3 ()
28 {
29   struct bar s;
30   asm ("" : "=r"(s));
31   return (int) s.b + 1;
32 }
33
34 NOMIPS16 long long
35 f4 (struct bar *s)
36 {
37   return s->d;
38 }