drd/tests/std_thread2: Make this test independent of the libstdc++ version
[valgrind.git] / none / tests / mips32 / block_size.c
blob4b8219674539e564e5d49954edaf53c3b6f334e6
1 #include <stdio.h>
3 __attribute__((noinline)) int test_block_size1 ()
5 int result = 1;
6 __asm__ __volatile__(
7 ".set noreorder" "\n\t"
8 ".set nomacro" "\n\t"
9 "b begin1" "\n\t"
10 "nop" "\n\t"
11 "begin1:" "\n\t"
12 ".rept 56" "\n\t"
13 ".word 0" "\n\t"
14 ".endr" "\n\t"
15 "li $4, 0" "\n\t"
16 "j end1" "\n\t"
17 "nop" "\n\t"
18 "b label1" "\n\t"
19 "nop" "\n\t"
20 "label1:" "\n\t"
21 "li $4, 1" "\n\t"
22 "end1:" "\n\t"
23 "move %0, $4" "\n\t"
24 ".set reorder" "\n\t"
25 ".set macro" "\n\t"
26 : /*out*/ "=r" (result)
27 : /*in*/
28 : /*trash*/ "$4");
29 return result;
32 __attribute__((noinline)) int test_block_size2 ()
34 int result = 1;
35 __asm__ __volatile__(
36 ".set noreorder" "\n\t"
37 ".set nomacro" "\n\t"
38 "b begin2" "\n\t"
39 "nop" "\n\t"
40 "begin2:" "\n\t"
41 ".rept 58" "\n\t"
42 ".word 0" "\n\t"
43 ".endr" "\n\t"
44 "li $4, 1" "\n\t"
45 "j end2" "\n\t"
46 "li $4, 0" "\n\t"
47 "end2:" "\n\t"
48 "move %0, $4" "\n\t"
49 ".set reorder" "\n\t"
50 ".set macro" "\n\t"
51 : /*out*/ "=r" (result)
52 : /*in*/
53 : /*trash*/ "$4");
54 return result;
57 int main ()
59 /*******************TEST1*******************/
60 if (test_block_size1() == 0)
61 printf("test1 - PASS\n");
62 else
63 printf("test1 - FAIL\n");
65 /*******************TEST2*******************/
66 if (test_block_size2() == 0)
67 printf("test2 - PASS\n");
68 else
69 printf("test2 - FAIL\n");
70 return 0;