363 0xffffffffUL, 0x3fefffffUL
364 };
365
366 ALIGNED_(8) juint _TWO_POW_55[] =
367 {
368 0x00000000UL, 0x43600000UL
369 };
370
371 ALIGNED_(8) juint _TWO_POW_M55[] =
372 {
373 0x00000000UL, 0x3c800000UL
374 };
375
376 ALIGNED_(8) juint StubRoutines::x86::_P_1[] =
377 {
378 0x54400000UL, 0x3fb921fbUL
379 };
380
381 ALIGNED_(8) juint StubRoutines::x86::_NEG_ZERO[] =
382 {
383 0x00000000UL, 0x3c800000UL
384 };
385
386 void MacroAssembler::fast_sin(XMMRegister xmm0, XMMRegister xmm1, XMMRegister xmm2, XMMRegister xmm3, XMMRegister xmm4, XMMRegister xmm5, XMMRegister xmm6, XMMRegister xmm7, Register eax, Register ebx, Register ecx, Register edx, Register tmp1, Register tmp2, Register tmp3, Register tmp4) {
387 Label L_2TAG_PACKET_0_0_1, L_2TAG_PACKET_1_0_1, L_2TAG_PACKET_2_0_1, L_2TAG_PACKET_3_0_1;
388 Label L_2TAG_PACKET_4_0_1, L_2TAG_PACKET_5_0_1, L_2TAG_PACKET_6_0_1, L_2TAG_PACKET_7_0_1;
389 Label L_2TAG_PACKET_8_0_1, L_2TAG_PACKET_9_0_1, L_2TAG_PACKET_10_0_1, L_2TAG_PACKET_11_0_1;
390 Label L_2TAG_PACKET_13_0_1, L_2TAG_PACKET_14_0_1;
391 Label L_2TAG_PACKET_12_0_1, B1_1, B1_2, B1_4, start;
392
393 assert_different_registers(tmp1, tmp2, tmp3, tmp4, eax, ebx, ecx, edx);
394 address ONEHALF = StubRoutines::x86::_ONEHALF_addr();
395 address P_2 = StubRoutines::x86::_P_2_addr();
396 address SC_4 = StubRoutines::x86::_SC_4_addr();
397 address Ctable = StubRoutines::x86::_Ctable_addr();
398 address SC_2 = StubRoutines::x86::_SC_2_addr();
399 address SC_3 = StubRoutines::x86::_SC_3_addr();
400 address SC_1 = StubRoutines::x86::_SC_1_addr();
401 address PI_INV_TABLE = StubRoutines::x86::_PI_INV_TABLE_addr();
402 address PI_4 = (address)StubRoutines::x86::_PI_4_addr();
403 address PI32INV = (address)StubRoutines::x86::_PI32INV_addr();
|
363 0xffffffffUL, 0x3fefffffUL
364 };
365
366 ALIGNED_(8) juint _TWO_POW_55[] =
367 {
368 0x00000000UL, 0x43600000UL
369 };
370
371 ALIGNED_(8) juint _TWO_POW_M55[] =
372 {
373 0x00000000UL, 0x3c800000UL
374 };
375
376 ALIGNED_(8) juint StubRoutines::x86::_P_1[] =
377 {
378 0x54400000UL, 0x3fb921fbUL
379 };
380
381 ALIGNED_(8) juint StubRoutines::x86::_NEG_ZERO[] =
382 {
383 0x00000000UL, 0x80000000UL
384 };
385
386 void MacroAssembler::fast_sin(XMMRegister xmm0, XMMRegister xmm1, XMMRegister xmm2, XMMRegister xmm3, XMMRegister xmm4, XMMRegister xmm5, XMMRegister xmm6, XMMRegister xmm7, Register eax, Register ebx, Register ecx, Register edx, Register tmp1, Register tmp2, Register tmp3, Register tmp4) {
387 Label L_2TAG_PACKET_0_0_1, L_2TAG_PACKET_1_0_1, L_2TAG_PACKET_2_0_1, L_2TAG_PACKET_3_0_1;
388 Label L_2TAG_PACKET_4_0_1, L_2TAG_PACKET_5_0_1, L_2TAG_PACKET_6_0_1, L_2TAG_PACKET_7_0_1;
389 Label L_2TAG_PACKET_8_0_1, L_2TAG_PACKET_9_0_1, L_2TAG_PACKET_10_0_1, L_2TAG_PACKET_11_0_1;
390 Label L_2TAG_PACKET_13_0_1, L_2TAG_PACKET_14_0_1;
391 Label L_2TAG_PACKET_12_0_1, B1_1, B1_2, B1_4, start;
392
393 assert_different_registers(tmp1, tmp2, tmp3, tmp4, eax, ebx, ecx, edx);
394 address ONEHALF = StubRoutines::x86::_ONEHALF_addr();
395 address P_2 = StubRoutines::x86::_P_2_addr();
396 address SC_4 = StubRoutines::x86::_SC_4_addr();
397 address Ctable = StubRoutines::x86::_Ctable_addr();
398 address SC_2 = StubRoutines::x86::_SC_2_addr();
399 address SC_3 = StubRoutines::x86::_SC_3_addr();
400 address SC_1 = StubRoutines::x86::_SC_1_addr();
401 address PI_INV_TABLE = StubRoutines::x86::_PI_INV_TABLE_addr();
402 address PI_4 = (address)StubRoutines::x86::_PI_4_addr();
403 address PI32INV = (address)StubRoutines::x86::_PI32INV_addr();
|