30 lines
691 B
C
30 lines
691 B
C
/* { dg-options "isa_rev>=6 -mcompact-branches=optimal -mno-abicalls -G4" } */
|
|
/* { dg-final { scan-assembler-not "bne\t" } } */
|
|
/* { dg-final { scan-assembler-not "beq\t" } } */
|
|
/* { dg-final { scan-assembler-times "\\(foo\\)" 1 } } */
|
|
|
|
/* Test that when compact branches are used, that a compact branch is
|
|
produced in the case where code expansion would have occurred if a
|
|
delay slot branch would have be used. 'foo' should only be
|
|
referenced once in the program text. */
|
|
|
|
struct list
|
|
{
|
|
struct list *next;
|
|
int element;
|
|
};
|
|
|
|
struct list *gr;
|
|
|
|
int foo;
|
|
|
|
extern void t (int, int, int*);
|
|
|
|
void
|
|
f (struct list **ptr)
|
|
{
|
|
if (gr)
|
|
*ptr = gr->next;
|
|
t (1, foo, &gr->element);
|
|
}
|