blob: 87f46a6b7871ac49fb9a2fb87582f8785bdca2e8 (
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
/* APPLE LOCAL file CW asm blocks */
/* Test whole asm functions. */
/* { dg-do run { target powerpc*-*-darwin* } } */
/* { dg-options "-fasm-blocks -O2" } */
extern "C" void abort(void);
asm void normal_fn ()
{
nop
nop
}
asm void nofralloc_fn ()
{
nofralloc
nop
blr
}
asm void fralloc_fn ()
{
fralloc
nop
nop
}
asm int fralloc_fn_1 ()
{
fralloc
mr r4,r1
frfree
sub r3,r4,r1
blr
}
asm int fralloc_fn_2 ()
{
fralloc 1000
nop
frfree
blr
}
asm int fralloc_fn_3 ()
{
int loc1, loc2;
fralloc 41
nop
mr r3, loc2
frfree
mr r3, loc1
blr
}
asm int f6 ()
{
opword 0x386004d2 /* li r3,1234 */
}
main()
{
normal_fn ();
nofralloc_fn ();
fralloc_fn ();
/*
fralloc_fn_1 ();
fralloc_fn_2 ();
fralloc_fn_3 ();
*/
if (f6 () != 1234)
abort ();
return 0;
}
|