1	.global cris_flush_cache_range
2	.type	cris_flush_cache_range, @function
3cris_flush_cache_range:
4	move.d 1024, $r12
5	cmp.d $r11, $r12
6	bhi cris_flush_1KB
7	nop
8	add.d $r10, $r11
9	ftagd [$r10]
10cris_flush_last:
11	addq 32, $r10
12	cmp.d $r11, $r10
13	blt cris_flush_last
14	ftagd [$r10]
15	ret
16	nop
17cris_flush_1KB:
18	ftagd [$r10]
19	addq 32, $r10
20	ftagd [$r10]
21	addq 32, $r10
22	ftagd [$r10]
23	addq 32, $r10
24	ftagd [$r10]
25	addq 32, $r10
26	ftagd [$r10]
27	addq 32, $r10
28	ftagd [$r10]
29	addq 32, $r10
30	ftagd [$r10]
31	addq 32, $r10
32	ftagd [$r10]
33	addq 32, $r10
34	ftagd [$r10]
35	addq 32, $r10
36	ftagd [$r10]
37	addq 32, $r10
38	ftagd [$r10]
39	addq 32, $r10
40	ftagd [$r10]
41	addq 32, $r10
42	ftagd [$r10]
43	addq 32, $r10
44	ftagd [$r10]
45	addq 32, $r10
46	ftagd [$r10]
47	addq 32, $r10
48	ftagd [$r10]
49	addq 32, $r10
50	ftagd [$r10]
51	addq 32, $r10
52	ftagd [$r10]
53	addq 32, $r10
54	ftagd [$r10]
55	addq 32, $r10
56	ftagd [$r10]
57	addq 32, $r10
58	ftagd [$r10]
59	addq 32, $r10
60	ftagd [$r10]
61	addq 32, $r10
62	ftagd [$r10]
63	addq 32, $r10
64	ftagd [$r10]
65	addq 32, $r10
66	ftagd [$r10]
67	addq 32, $r10
68	ftagd [$r10]
69	addq 32, $r10
70	ftagd [$r10]
71	addq 32, $r10
72	ftagd [$r10]
73	addq 32, $r10
74	ftagd [$r10]
75	addq 32, $r10
76	ftagd [$r10]
77	addq 32, $r10
78	ftagd [$r10]
79	addq 32, $r10
80	ftagd [$r10]
81	addq 32, $r10
82	ba cris_flush_cache_range
83	sub.d $r12, $r11
84	.size	cris_flush_cache_range, . - cris_flush_cache_range
85
86	.global cris_flush_cache
87	.type	cris_flush_cache, @function
88cris_flush_cache:
89	moveq 0, $r10
90cris_flush_line:
91	move.d 16*1024, $r11
92	addq 16, $r10
93	cmp.d $r10, $r11
94	blt cris_flush_line
95	fidxd [$r10]
96	ret
97	nop
98	.size	cris_flush_cache, . - cris_flush_cache
99
100