202 __ ldrd(v1, Address(esp)); |
202 __ ldrd(v1, Address(esp)); |
203 __ mov(sp, r13); |
203 __ mov(sp, r13); |
204 generate_transcendental_entry(kind, 2); |
204 generate_transcendental_entry(kind, 2); |
205 break; |
205 break; |
206 case Interpreter::java_lang_math_fmaD : |
206 case Interpreter::java_lang_math_fmaD : |
|
207 if (UseFMA) { |
|
208 entry_point = __ pc(); |
|
209 __ ldrd(v0, Address(esp, 4 * Interpreter::stackElementSize)); |
|
210 __ ldrd(v1, Address(esp, 2 * Interpreter::stackElementSize)); |
|
211 __ ldrd(v2, Address(esp)); |
|
212 __ fmaddd(v0, v0, v1, v2); |
|
213 __ mov(sp, r13); // Restore caller's SP |
|
214 } |
|
215 break; |
207 case Interpreter::java_lang_math_fmaF : |
216 case Interpreter::java_lang_math_fmaF : |
208 return NULL; |
217 if (UseFMA) { |
|
218 entry_point = __ pc(); |
|
219 __ ldrs(v0, Address(esp, 2 * Interpreter::stackElementSize)); |
|
220 __ ldrs(v1, Address(esp, Interpreter::stackElementSize)); |
|
221 __ ldrs(v2, Address(esp)); |
|
222 __ fmadds(v0, v0, v1, v2); |
|
223 __ mov(sp, r13); // Restore caller's SP |
|
224 } |
|
225 break; |
209 default: |
226 default: |
210 ; |
227 ; |
211 } |
228 } |
212 if (entry_point) { |
229 if (entry_point) { |
213 __ br(continuation); |
230 __ br(continuation); |