111
|
1 /* PR debug/43299 */
|
|
2 /* { dg-do assemble } */
|
|
3 /* { dg-options "-g -O2" } */
|
|
4
|
|
5 extern void *emit_insn (void *);
|
|
6
|
|
7 __attribute__((noinline))
|
|
8 void *gen_load_locked_si (void *x, void *y)
|
|
9 {
|
|
10 return x;
|
|
11 }
|
|
12
|
|
13 __attribute__((noinline))
|
|
14 void *gen_load_locked_di (void *x, void *y)
|
|
15 {
|
|
16 return x;
|
|
17 }
|
|
18
|
|
19 void
|
|
20 emit_load_locked (int mode, void *reg, void *mem)
|
|
21 {
|
|
22 void * (*fn) (void *, void *) = ((void *)0);
|
|
23 if (mode == 9)
|
|
24 fn = gen_load_locked_si;
|
|
25 else if (mode == 10)
|
|
26 fn = gen_load_locked_di;
|
|
27 emit_insn (fn (reg, mem));
|
|
28 }
|