Mercurial > hg > truffle
comparison src/share/vm/asm/register.hpp @ 20438:166d744df0de
8055494: Add C2 x86 intrinsic for BigInteger::multiplyToLen() method
Summary: Add new C2 intrinsic for BigInteger::multiplyToLen() on x86 in 64-bit VM.
Reviewed-by: roland
author | kvn |
---|---|
date | Tue, 02 Sep 2014 12:48:45 -0700 |
parents | 78bbf4d43a14 |
children |
comparison
equal
deleted
inserted
replaced
20437:bddcb33dadf4 | 20438:166d744df0de |
---|---|
273 ", i=" INTPTR_FORMAT "", | 273 ", i=" INTPTR_FORMAT "", |
274 p2i(a), p2i(b), p2i(c), p2i(d), p2i(e), p2i(f), p2i(g), p2i(h), p2i(i)) | 274 p2i(a), p2i(b), p2i(c), p2i(d), p2i(e), p2i(f), p2i(g), p2i(h), p2i(i)) |
275 ); | 275 ); |
276 } | 276 } |
277 | 277 |
278 inline void assert_different_registers( | |
279 AbstractRegister a, | |
280 AbstractRegister b, | |
281 AbstractRegister c, | |
282 AbstractRegister d, | |
283 AbstractRegister e, | |
284 AbstractRegister f, | |
285 AbstractRegister g, | |
286 AbstractRegister h, | |
287 AbstractRegister i, | |
288 AbstractRegister j | |
289 ) { | |
290 assert( | |
291 a != b && a != c && a != d && a != e && a != f && a != g && a != h && a != i && a != j | |
292 && b != c && b != d && b != e && b != f && b != g && b != h && b != i && b != j | |
293 && c != d && c != e && c != f && c != g && c != h && c != i && c != j | |
294 && d != e && d != f && d != g && d != h && d != i && d != j | |
295 && e != f && e != g && e != h && e != i && e != j | |
296 && f != g && f != h && f != i && f != j | |
297 && g != h && g != i && g != j | |
298 && h != i && h != j | |
299 && i != j, | |
300 err_msg_res("registers must be different: a=" INTPTR_FORMAT ", b=" INTPTR_FORMAT | |
301 ", c=" INTPTR_FORMAT ", d=" INTPTR_FORMAT ", e=" INTPTR_FORMAT | |
302 ", f=" INTPTR_FORMAT ", g=" INTPTR_FORMAT ", h=" INTPTR_FORMAT | |
303 ", i=" INTPTR_FORMAT ", j=" INTPTR_FORMAT "", | |
304 p2i(a), p2i(b), p2i(c), p2i(d), p2i(e), p2i(f), p2i(g), p2i(h), p2i(i), p2i(j)) | |
305 ); | |
306 } | |
307 | |
308 inline void assert_different_registers( | |
309 AbstractRegister a, | |
310 AbstractRegister b, | |
311 AbstractRegister c, | |
312 AbstractRegister d, | |
313 AbstractRegister e, | |
314 AbstractRegister f, | |
315 AbstractRegister g, | |
316 AbstractRegister h, | |
317 AbstractRegister i, | |
318 AbstractRegister j, | |
319 AbstractRegister k | |
320 ) { | |
321 assert( | |
322 a != b && a != c && a != d && a != e && a != f && a != g && a != h && a != i && a != j && a !=k | |
323 && b != c && b != d && b != e && b != f && b != g && b != h && b != i && b != j && b !=k | |
324 && c != d && c != e && c != f && c != g && c != h && c != i && c != j && c !=k | |
325 && d != e && d != f && d != g && d != h && d != i && d != j && d !=k | |
326 && e != f && e != g && e != h && e != i && e != j && e !=k | |
327 && f != g && f != h && f != i && f != j && f !=k | |
328 && g != h && g != i && g != j && g !=k | |
329 && h != i && h != j && h !=k | |
330 && i != j && i !=k | |
331 && j !=k, | |
332 err_msg_res("registers must be different: a=" INTPTR_FORMAT ", b=" INTPTR_FORMAT | |
333 ", c=" INTPTR_FORMAT ", d=" INTPTR_FORMAT ", e=" INTPTR_FORMAT | |
334 ", f=" INTPTR_FORMAT ", g=" INTPTR_FORMAT ", h=" INTPTR_FORMAT | |
335 ", i=" INTPTR_FORMAT ", j=" INTPTR_FORMAT ", k=" INTPTR_FORMAT "", | |
336 p2i(a), p2i(b), p2i(c), p2i(d), p2i(e), p2i(f), p2i(g), p2i(h), p2i(i), p2i(j), p2i(k)) | |
337 ); | |
338 } | |
339 | |
340 inline void assert_different_registers( | |
341 AbstractRegister a, | |
342 AbstractRegister b, | |
343 AbstractRegister c, | |
344 AbstractRegister d, | |
345 AbstractRegister e, | |
346 AbstractRegister f, | |
347 AbstractRegister g, | |
348 AbstractRegister h, | |
349 AbstractRegister i, | |
350 AbstractRegister j, | |
351 AbstractRegister k, | |
352 AbstractRegister l | |
353 ) { | |
354 assert( | |
355 a != b && a != c && a != d && a != e && a != f && a != g && a != h && a != i && a != j && a !=k && a !=l | |
356 && b != c && b != d && b != e && b != f && b != g && b != h && b != i && b != j && b !=k && b !=l | |
357 && c != d && c != e && c != f && c != g && c != h && c != i && c != j && c !=k && c !=l | |
358 && d != e && d != f && d != g && d != h && d != i && d != j && d !=k && d !=l | |
359 && e != f && e != g && e != h && e != i && e != j && e !=k && e !=l | |
360 && f != g && f != h && f != i && f != j && f !=k && f !=l | |
361 && g != h && g != i && g != j && g !=k && g !=l | |
362 && h != i && h != j && h !=k && h !=l | |
363 && i != j && i !=k && i !=l | |
364 && j !=k && j !=l | |
365 && k !=l, | |
366 err_msg_res("registers must be different: a=" INTPTR_FORMAT ", b=" INTPTR_FORMAT | |
367 ", c=" INTPTR_FORMAT ", d=" INTPTR_FORMAT ", e=" INTPTR_FORMAT | |
368 ", f=" INTPTR_FORMAT ", g=" INTPTR_FORMAT ", h=" INTPTR_FORMAT | |
369 ", i=" INTPTR_FORMAT ", j=" INTPTR_FORMAT ", k=" INTPTR_FORMAT | |
370 ", l=" INTPTR_FORMAT "", | |
371 p2i(a), p2i(b), p2i(c), p2i(d), p2i(e), p2i(f), p2i(g), p2i(h), p2i(i), p2i(j), p2i(k), p2i(l)) | |
372 ); | |
373 } | |
374 | |
278 #endif // SHARE_VM_ASM_REGISTER_HPP | 375 #endif // SHARE_VM_ASM_REGISTER_HPP |