summaryrefslogtreecommitdiff
path: root/tools/asm-processor/tests/static-global.c
blob: 12b143462922c42dda44def95dcb23bfbbfeb0bb (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
// COMPILE-FLAGS: -O2
// ASMP-FLAGS: --convert-statics=global
static int xtext(int a, int b, int c);
const int rodata1[] = {1};
static const int rodata2[] = {2};
int data1[] = {3};
static int data2[] = {4};
int bss1;
static int bss2;

GLOBAL_ASM(
glabel bar
lui $a0, %hi(rodata2)
lw $a0, %lo(rodata2)($a0)
lui $a1, %hi(data2)
lw $a1, %lo(data2)($a0)
lui $a2, %hi(bss2)
lw $a2, %lo(bss2)($a0)
jal xtext
nop
jr $ra
nop
nop
nop
)

static int xtext(int a, int b, int c) {
    static int bss2;
    return 1;
}

void baz(void) {
    { static int bss2; }
    xtext(bss2, rodata2[0], data2[0]);
}