OSDN Git Service

* config/mips/mips.md (*extenddi_truncate<mode>,
[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 -dp" } */
4 /* Don't match exts in sign-extension.  */
5 /* { dg-final { scan-assembler-times "\texts\t\[^\\n\]*extv" 4 } } */
6
7 struct bar
8 {
9   long long d:1;
10   unsigned long long c:48;
11   long long b:14;
12   unsigned long long a:1;
13 };
14
15 NOMIPS16 int
16 f1 (struct bar *s, int a)
17 {
18   return (int) s->b + a;
19 }
20
21 NOMIPS16 char
22 f2 (struct bar *s)
23 {
24   return s->d + 1;
25 }
26
27 NOMIPS16 int
28 f3 ()
29 {
30   struct bar s;
31   asm ("" : "=r"(s));
32   return (int) s.b + 1;
33 }
34
35 NOMIPS16 long long
36 f4 (struct bar *s)
37 {
38   return s->d;
39 }