diff options
Diffstat (limited to 'arch/tile/lib/memset_32.c')
-rw-r--r-- | arch/tile/lib/memset_32.c | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/arch/tile/lib/memset_32.c b/arch/tile/lib/memset_32.c index bfde5d864df1..d014c1fbcbc2 100644 --- a/arch/tile/lib/memset_32.c +++ b/arch/tile/lib/memset_32.c | |||
@@ -141,7 +141,6 @@ void *memset(void *s, int c, size_t n) | |||
141 | */ | 141 | */ |
142 | __insn_prefetch(&out32[ahead32]); | 142 | __insn_prefetch(&out32[ahead32]); |
143 | 143 | ||
144 | #if 1 | ||
145 | #if CACHE_LINE_SIZE_IN_WORDS % 4 != 0 | 144 | #if CACHE_LINE_SIZE_IN_WORDS % 4 != 0 |
146 | #error "Unhandled CACHE_LINE_SIZE_IN_WORDS" | 145 | #error "Unhandled CACHE_LINE_SIZE_IN_WORDS" |
147 | #endif | 146 | #endif |
@@ -157,30 +156,6 @@ void *memset(void *s, int c, size_t n) | |||
157 | *out32++ = v32; | 156 | *out32++ = v32; |
158 | *out32++ = v32; | 157 | *out32++ = v32; |
159 | } | 158 | } |
160 | #else | ||
161 | /* Unfortunately, due to a code generator flaw this | ||
162 | * allocates a separate register for each of these | ||
163 | * stores, which requires a large number of spills, | ||
164 | * which makes this procedure enormously bigger | ||
165 | * (something like 70%) | ||
166 | */ | ||
167 | *out32++ = v32; | ||
168 | *out32++ = v32; | ||
169 | *out32++ = v32; | ||
170 | *out32++ = v32; | ||
171 | *out32++ = v32; | ||
172 | *out32++ = v32; | ||
173 | *out32++ = v32; | ||
174 | *out32++ = v32; | ||
175 | *out32++ = v32; | ||
176 | *out32++ = v32; | ||
177 | *out32++ = v32; | ||
178 | *out32++ = v32; | ||
179 | *out32++ = v32; | ||
180 | *out32++ = v32; | ||
181 | *out32++ = v32; | ||
182 | n32 -= 16; | ||
183 | #endif | ||
184 | 159 | ||
185 | /* To save compiled code size, reuse this loop even | 160 | /* To save compiled code size, reuse this loop even |
186 | * when we run out of prefetching to do by dropping | 161 | * when we run out of prefetching to do by dropping |