/* Check that the GBR address optimization works when the GBR register | |
definition is not in the same basic block where the GBR memory accesses | |
are. */ | |
/* { dg-do compile } */ | |
/* { dg-options "-O1" } */ | |
/* { dg-final { scan-assembler-not "stc\tgbr" } } */ | |
typedef struct | |
{ | |
int x, y, z, w; | |
} tcb_t; | |
int | |
test_00 (int a, tcb_t* b, int c) | |
{ | |
tcb_t* tcb = (tcb_t*)__builtin_thread_pointer (); | |
return (a & 5) ? tcb->x : tcb->w; | |
} |