PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.target / arm / pr60650.c
blob734b41f001a9cb2d5e612db05d1c39971577c971
1 /* { dg-do compile } */
2 /* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } {"-mfloat-abi=softfp" } } */
3 /* { dg-options "-O2 -fno-omit-frame-pointer -mabi=apcs-gnu -mfloat-abi=softfp" } */
6 struct super_block
8 int s_blocksize_bits;
9 };
10 struct btrfs_fs_info
12 struct super_block *sb;
14 struct btrfs_root
16 struct btrfs_fs_info *fs_info;
17 } *b;
20 int a, c, d;
21 long long e;
23 extern int foo1 (struct btrfs_root *, int, int, int);
24 extern int foo2 (struct btrfs_root *, int, int);
26 int
27 truncate_one_csum (struct btrfs_root *p1, long long p2, long long p3)
29 int f, g, i = p1->fs_info->sb->s_blocksize_bits;
30 g = a;
31 long long h = p2 + p3;
32 f = foo1 (b, 0, c, 0);
33 e = f / g;
34 e <<= p1->fs_info->sb->s_blocksize_bits;
35 if (d < p2)
37 int j = e - h >> i;
38 foo2 (p1, 0, j);
40 else
42 asm ("1\t.long ");
43 __builtin_unreachable ();