src/cpu/mips/vm/templateTable_mips_64.cpp

changeset 6886
2fa8027581f6
parent 6885
75ee8543b584
child 6887
59aca571c8d0
equal deleted inserted replaced
6885:75ee8543b584 6886:2fa8027581f6
206 if (value == 0) { 206 if (value == 0) {
207 __ move(FSR, R0); 207 __ move(FSR, R0);
208 } else { 208 } else {
209 __ move(FSR, value); 209 __ move(FSR, value);
210 } 210 }
211 assert(value >= 0, "check this code");
212 //__ move(SSR, R0);
213 } 211 }
214 212
215 void TemplateTable::fconst(int value) { 213 void TemplateTable::fconst(int value) {
216 static float _f1 = 1.0, _f2 = 2.0; 214 static float _f1 = 1.0, _f2 = 2.0;
217 transition(vtos, ftos); 215 transition(vtos, ftos);
1454 __ delayed()->nop(); 1452 __ delayed()->nop();
1455 //__ stop("lshl, wrong stack"); // <-- Fu 20130930 1453 //__ stop("lshl, wrong stack"); // <-- Fu 20130930
1456 __ bind(L); 1454 __ bind(L);
1457 } 1455 }
1458 #endif 1456 #endif
1459 __ andi(FSR, FSR, 0x3f); // the bit to be shifted
1460 __ dsllv(FSR, T0, FSR); 1457 __ dsllv(FSR, T0, FSR);
1461 } 1458 }
1462 1459
1463 // used registers : T0 1460 // used registers : T0
1464 void TemplateTable::lshr() { 1461 void TemplateTable::lshr() {
1471 __ delayed()->nop(); 1468 __ delayed()->nop();
1472 __ stop("lshr, wrong stack"); 1469 __ stop("lshr, wrong stack");
1473 __ bind(L); 1470 __ bind(L);
1474 } 1471 }
1475 #endif 1472 #endif
1476 __ andi(FSR, FSR, 0x3f); // the bit to be shifted
1477 __ dsrav(FSR, T0, FSR); 1473 __ dsrav(FSR, T0, FSR);
1478 } 1474 }
1479 1475
1480 // used registers : T0 1476 // used registers : T0
1481 void TemplateTable::lushr() { 1477 void TemplateTable::lushr() {
1488 __ delayed()->nop(); 1484 __ delayed()->nop();
1489 __ stop("lushr, wrong stack"); 1485 __ stop("lushr, wrong stack");
1490 __ bind(L); 1486 __ bind(L);
1491 } 1487 }
1492 #endif 1488 #endif
1493 __ andi(FSR, FSR, 0x3f); // the bit to be shifted
1494 __ dsrlv(FSR, T0, FSR); 1489 __ dsrlv(FSR, T0, FSR);
1495 } 1490 }
1496 1491
1497 // result in FSF 1492 // result in FSF
1498 void TemplateTable::fop2(Operation op) { 1493 void TemplateTable::fop2(Operation op) {

mercurial