1 /* This failed on s390x due to bug in loop.c.
2 loop.c failed to remove a REG_EQUAL note when
3 hoisting an insn from a loop body. */
5 /* { dg-options "-O3 -fPIC" } */
6 /* { dg-do run { target fpic } } */
8 typedef __SIZE_TYPE__
size_t;
9 int memcmp(const void *s1
, const void *s2
, size_t n
);
19 int subroutine_offset
;
21 LOCAL local
= { "local", 0 };
22 LOCAL keywords
= { "keywords", 1 };
24 int keywords_table
= 0;
26 void __attribute__((noinline
)) bar (char *p_buffer
)
31 int __attribute__((noinline
)) foo (char *p_str1
)
37 int __attribute__((noinline
)) loop_next (int *p_table
, char *p_table_head
)
69 keywords
.a
+= index
- 1;
78 subroutine_offset
= 0;
82 if (loop_next (&keywords_table
, (char*)&keywords
))
85 if ((!memcmp (keywords
.name
, "+++", 3)))
90 if ((!memcmp (keywords
.name
, "+++", 3)))
91 subroutine_offset
+= local_table
;
95 if (loop_next (&local_table
, (char*)&local
))