Lines Matching full:op
430 macro(:acc_receiver) do |op, imm|
434 res2 := vreg_value(op).ref
596 ['Add', 'Sub', 'And', 'Mul', 'Or', 'Xor', 'Shl', 'Shr', 'AShr'].each do |op|
598 macro(:"handle_#{op.downcase}_v4_v4") do |vs1, vs2|
599 v_ := send(op, vs1, vs2).i32
603 macro(:"handle_#{op.downcase}2_v8") do |vs|
604 v_ := send(op, acc_value.i32, vs).i32
608 macro(:"handle_#{op.downcase}2_64_v8") do |vs|
609 v_ := send(op, acc_value.i64, vs).i64
613 macro(:"handle_#{op.downcase}i_imm") do |imm|
614 v_ := send(op, acc_value.i32, imm).i32
620 ['Not', 'Neg'].each do |op|
621 macro(:"handle_#{op.downcase}") do
622 v_ := send(op, acc_value.i32).i32
625 macro(:"handle_#{op.downcase}_64") do
626 v_ := send(op, acc_value.i64).i64
631 ['Div', 'Mod'].each do |op|
632 macro(:"handle_#{op.downcase}_v4_v4") do |vs1, vs2|
634 v_ := send(op, vs1, vs2).i32
637 macro(:"handle_#{op.downcase}2_v8") do |vs|
639 v_ := send(op, acc_value.i32, vs).i32
642 macro(:"handle_#{op.downcase}2_64_v8") do |vs|
644 v_ := send(op, acc_value.i64, vs).i64
647 macro(:"handle_#{op.downcase}u2_v8") do |vs|
649 v_ := send(op, acc_value.u32, vs).u32
652 macro(:"handle_#{op.downcase}u2_64_v8") do |vs|
654 v_ := send(op, acc_value.u64, vs).u64
657 macro(:"handle_#{op.downcase}i_imm") do |imm|
659 v_ := send(op, acc_value.i32, imm).i32
1117 ['initobj', 'call', 'call_virt'].each do |op|
1118 macro(:"handle_#{op}_short_v4_v4_id16") do |v1, v2, id, size|
1119 receiver = vreg_value(v1).ref if op.include?('virt')
1120 generic_call(id, size, op == 'initobj', receiver, 2, lambda do |new_frame, num_vregs, _|
1127 ['call', 'call_virt'].each do |op|
1128 macro(:"handle_#{op}_acc_short_v4_imm4_id16") do |v, imm, id, size|
1129 receiver = acc_receiver(v, imm).ref if op.include?('virt')
1142 ['call', 'call_virt'].each do |op|
1143 macro(:"handle_#{op}_acc_v4_v4_v4_imm4_id16") do |v1, v2, v3, imm, id, size|
1144 receiver = acc_receiver(v1, imm).ref if op.include?('virt')
1176 ['initobj', 'call', 'call_virt'].each do |op|
1177 macro(:"handle_#{op}_v4_v4_v4_v4_id16") do |v1, v2, v3, v4, id, size|
1178 receiver = vreg_value(v1).ref if op.include?('virt')
1179 generic_call(id, size, op == 'initobj', receiver, 4, lambda do |new_frame, num_vregs, _|
1188 ['initobj', 'call', 'call_virt'].each do |op|
1189 macro(:"handle_#{op}_range_v8_id16") do |v, id, size|
1190 receiver = vreg_value(v).ref if op.include?('virt')
1191 … generic_call(id, size, op == 'initobj', receiver, nil, lambda do |new_frame, num_vregs, num_args|
1222 ['enter', 'exit'].each do |op|
1223 macro(:"handle_monitor#{op}") do
1225 call_runtime("ObjectMonitor#{op.capitalize}", u32toword(acc_value.u32)).void
1255 op = i.operands # alias for brevity
1283 handle_movi(vreg_ptr(op[0]), i8toi32(as_imm(op[1])))
1285 handle_movi(vreg_ptr(op[0]), i16toi32(as_imm(op[1])))
1287 handle_movi(vreg_ptr(op[0]), as_imm(op[1]))
1289 handle_movi_64(vreg_ptr(op[0]), as_imm(op[1]))
1291 handle_mov(vreg_ptr(op[0]), vreg_value(op[1]).u32)
1293 handle_mov_64(vreg_ptr(op[0]), vreg_value(op[1]).u64)
1295 handle_mov_obj(vreg_ptr(op[0]), vreg_value(op[1]).ref)
1297 handle_mov_null_v8(vreg_ptr(op[0]))
1299 handle_fmovi_v8_imm(vreg_ptr(op[0]), as_imm(op[1]))
1301 handle_fmovi_64_v8_imm(vreg_ptr(op[0]).ptr, as_imm(op[1]).f64)
1304 handle_lda(vreg_value(op[0]).u32)
1306 handle_lda_64(vreg_value(op[0]).u64)
1308 handle_lda_obj_v8(vreg_value(op[0]).ref)
1310 handle_lda_str_id32(as_id(op[0]))
1312 handle_lda_type_id16(as_id(op[0]))
1314 handle_lda_const_v8_id32(vreg_ptr(op[0]), as_id(op[1]))
1316 handle_ldai_imm(i8toi32(as_imm(op[0])))
1318 handle_ldai_imm(i16toi32(as_imm(op[0])))
1320 handle_ldai_imm(as_imm(op[0]))
1322 handle_ldai_64_imm(as_imm(op[0]))
1324 handle_fldai_imm(as_imm(op[0]))
1326 handle_fldai_64_imm(as_imm(op[0]))
1330 handle_lenarr_v8(vreg_value(op[0]))
1332 handle_ldarr_v8(vreg_value(op[0]))
1334 handle_ldarr_8_v8(vreg_value(op[0]))
1336 handle_ldarr_16_v8(vreg_value(op[0]))
1338 handle_ldarru_8_v8(vreg_value(op[0]))
1340 handle_ldarru_16_v8(vreg_value(op[0]))
1342 handle_ldarr_64_v8(vreg_value(op[0]))
1344 handle_fldarr_32_v8(vreg_value(op[0]))
1346 handle_fldarr_64_v8(vreg_value(op[0]))
1348 handle_ldarr_obj_v8(vreg_value(op[0]))
1350 handle_ldobj_v8_id16(vreg_value(op[0]).ref, as_id(op[1]))
1352 handle_ldobj_v_v4_v4_id16(vreg_ptr(op[0]), vreg_value(op[1]).ref, as_id(op[2]))
1354 handle_ldobj_64_v8_id16(vreg_value(op[0]).ref, as_id(op[1]))
1356 handle_ldobj_v_64_v4_v4_id16(vreg_ptr(op[0]), vreg_value(op[1]).ref, as_id(op[2]))
1358 handle_ldobj_obj_v8_id16(vreg_value(op[0]).ref, as_id(op[1]))
1360 handle_ldobj_v_obj_v4_v4_id16(vreg_ptr(op[0]), vreg_value(op[1]).ref, as_id(op[2]))
1362 handle_ldstatic_id16(as_id(op[0]))
1364 handle_ldstatic_64_id16(as_id(op[0]))
1366 handle_ldstatic_obj_id16(as_id(op[0]))
1369 handle_sta_v8(vreg_ptr(op[0]))
1371 handle_sta_64_v8(vreg_ptr(op[0]))
1373 handle_sta_obj_v8(vreg_ptr(op[0]))
1375 handle_starr_v4_v4(vreg_value(op[0]), vreg_value(op[1]).i32)
1377 handle_starr_8_v4_v4(vreg_value(op[0]), vreg_value(op[1]).i32)
1379 handle_starr_16_v4_v4(vreg_value(op[0]), vreg_value(op[1]).i32)
1381 handle_starr_64_v4_v4(vreg_value(op[0]), vreg_value(op[1]).i32)
1383 handle_fstarr_32_v4_v4(vreg_value(op[0]), vreg_value(op[1]).i32)
1385 handle_fstarr_64_v4_v4(vreg_value(op[0]), vreg_value(op[1]).i32)
1387 handle_starr_obj_v4_v4(vreg_value(op[0]), vreg_value(op[1]).i32)
1389 handle_stobj_v8_id16(vreg_value(op[0]).ref, as_id(op[1]))
1391 handle_stobj_64_v8_id16(vreg_value(op[0]).ref, as_id(op[1]))
1393 handle_stobj_obj_v8_id16(vreg_value(op[0]).ref, as_id(op[1]))
1395 handle_stobj_v_v4_v4_id16(vreg_value(op[0]), vreg_value(op[1]), as_id(op[2]))
1397 handle_stobj_v_64_v4_v4_id16(vreg_value(op[0]), vreg_value(op[1]), as_id(op[2]))
1399 handle_stobj_v_obj_v4_v4_id16(vreg_value(op[0]), vreg_value(op[1]), as_id(op[2]))
1401 handle_ststatic_id16(as_id(op[0]))
1403 handle_ststatic_64_id16(as_id(op[0]))
1405 handle_ststatic_obj_id16(as_id(op[0]))
1408 pc := handle_jmp_imm(pc, i8toi32(as_imm(op[0])))
1410 pc := handle_jmp_imm(pc, i16toi32(as_imm(op[0])))
1412 pc := handle_jmp_imm(pc, as_imm(op[0]))
1416 pc := handle_jeq_v8_imm8(pc, vreg_value(op[0]).i32, op[1], i.format.size)
1418 pc := handle_jeq_v8_imm16(pc, vreg_value(op[0]).i32, op[1], i.format.size)
1420 pc := handle_jne_v8_imm8(pc, vreg_value(op[0]).i32, op[1], i.format.size)
1422 pc := handle_jne_v8_imm16(pc, vreg_value(op[0]).i32, op[1], i.format.size)
1424 pc := handle_jlt_v8_imm8(pc, vreg_value(op[0]).i32, op[1], i.format.size)
1426 pc := handle_jlt_v8_imm16(pc, vreg_value(op[0]).i32, op[1], i.format.size)
1428 pc := handle_jgt_v8_imm8(pc, vreg_value(op[0]).i32, op[1], i.format.size)
1430 pc := handle_jgt_v8_imm16(pc, vreg_value(op[0]).i32, op[1], i.format.size)
1432 pc := handle_jle_v8_imm8(pc, vreg_value(op[0]).i32, op[1], i.format.size)
1434 pc := handle_jle_v8_imm16(pc, vreg_value(op[0]).i32, op[1], i.format.size)
1436 pc := handle_jge_v8_imm8(pc, vreg_value(op[0]).i32, op[1], i.format.size)
1438 pc := handle_jge_v8_imm16(pc, vreg_value(op[0]).i32, op[1], i.format.size)
1440 pc := handle_jeqz_imm8(pc, op[0], i.format.size)
1442 pc := handle_jeqz_imm16(pc, op[0], i.format.size)
1444 pc := handle_jnez_imm8(pc, op[0], i.format.size)
1446 pc := handle_jnez_imm16(pc, op[0], i.format.size)
1448 pc := handle_jltz_imm8(pc, op[0], i.format.size)
1450 pc := handle_jltz_imm16(pc, op[0], i.format.size)
1452 pc := handle_jgtz_imm8(pc, op[0], i.format.size)
1454 pc := handle_jgtz_imm16(pc, op[0], i.format.size)
1456 pc := handle_jlez_imm8(pc, op[0], i.format.size)
1458 pc := handle_jlez_imm16(pc, op[0], i.format.size)
1460 pc := handle_jgez_imm8(pc, op[0], i.format.size)
1462 pc := handle_jgez_imm16(pc, op[0], i.format.size)
1464 pc := handle_jnez_obj_imm8(pc, op[0], i.format.size)
1466 pc := handle_jnez_obj_imm16(pc, op[0], i.format.size)
1468 pc := handle_jeqz_obj_imm8(pc, op[0], i.format.size)
1470 pc := handle_jeqz_obj_imm16(pc, op[0], i.format.size)
1472 pc := handle_jne_obj_v8_imm8(pc, vreg_value(op[0]).ref, op[1], i.format.size)
1474 pc := handle_jne_obj_v8_imm16(pc, vreg_value(op[0]).ref, op[1], i.format.size)
1476 pc := handle_jeq_obj_v8_imm8(pc, vreg_value(op[0]).ref, op[1], i.format.size)
1478 pc := handle_jeq_obj_v8_imm16(pc, vreg_value(op[0]).ref, op[1], i.format.size)
1481 handle_fcmpg_v8(vreg_value(op[0]).f32)
1483 handle_fcmpg_64_v8(vreg_value(op[0]).f64)
1485 handle_fcmpl_v8(vreg_value(op[0]).f32)
1487 handle_fcmpl_64_v8(vreg_value(op[0]).f64)
1489 handle_cmp(acc_value.u32, vreg_value(op[0]).u32)
1491 handle_cmp(acc_value.u64, vreg_value(op[0]).u64)
1493 handle_cmp(acc_value.i64, vreg_value(op[0]).i64)
1496 handle_add_v4_v4(vreg_value(op[0]).i32, vreg_value(op[1]).i32)
1498 handle_inci_v4_imm4(vreg_ptr(op[0]), i8toi32(as_imm(op[1])))
1500 handle_addi_imm(i8toi32(as_imm(op[0])))
1502 handle_add2_v8(vreg_value(op[0]).i32)
1504 handle_add2_64_v8(vreg_value(op[0]).i64)
1506 handle_fadd2_64_v8(vreg_value(op[0]).f64)
1508 handle_fadd2_v8(vreg_value(op[0]).f32)
1511 handle_fsub2_v8(vreg_value(op[0]).f32)
1513 handle_sub_v4_v4(vreg_value(op[0]).i32, vreg_value(op[1]).i32)
1515 handle_sub2_v8(vreg_value(op[0]).i32)
1517 handle_sub2_64_v8(vreg_value(op[0]).i64)
1519 handle_subi_imm(i8toi32(as_imm(op[0])))
1521 handle_fsub2_64_v8(vreg_value(op[0]).f64)
1523 handle_sub2_v8(vreg_value(op[0]).i32)
1525 handle_fsub2_64_v8(vreg_value(op[0]).f64)
1528 handle_mul_v4_v4(vreg_value(op[0]).i32, vreg_value(op[1]).i32)
1530 handle_mul2_v8(vreg_value(op[0]).i32)
1532 handle_fmul2_v8(vreg_value(op[0]).f32)
1534 handle_mul2_64_v8(vreg_value(op[0]).i64)
1536 handle_muli_imm(i8toi32(as_imm(op[0])))
1538 handle_fmul2_64_v8(vreg_value(op[0]).f64)
1541 handle_fdiv2_v8(vreg_value(op[0]).f32)
1543 handle_fdiv2_64_v8(vreg_value(op[0]).f64)
1545 handle_div_v4_v4(vreg_value(op[0]).i32, vreg_value(op[1]).i32)
1547 handle_div2_v8(vreg_value(op[0]).i32)
1549 handle_divi_imm(i8toi32(as_imm(op[0])))
1551 handle_div2_64_v8(vreg_value(op[0]).i64)
1553 handle_divu2_v8(vreg_value(op[0]).i32)
1555 handle_divu2_64_v8(vreg_value(op[0]).i64)
1558 handle_fmod2_v8(vreg_value(op[0]).f32)
1560 handle_fmod2_64_v8(vreg_value(op[0]).f64)
1562 handle_mod_v4_v4(vreg_value(op[0]).i32, vreg_value(op[1]).i32)
1564 handle_mod2_v8(vreg_value(op[0]).i32)
1566 handle_modi_imm(i8toi32(as_imm(op[0])))
1568 handle_mod2_64_v8(vreg_value(op[0]).i64)
1570 handle_modu2_v8(vreg_value(op[0]).i32)
1572 handle_modu2_64_v8(vreg_value(op[0]).i64)
1580 handle_and2_v8(vreg_value(op[0]).i64)
1582 handle_and2_64_v8(vreg_value(op[0]).i64)
1584 handle_andi_imm(as_imm(op[0]))
1586 handle_and_v4_v4(vreg_value(op[0]).i32, vreg_value(op[1]).i32)
1589 handle_or2_v8(vreg_value(op[0]).i32)
1591 handle_or2_64_v8(vreg_value(op[0]).i64)
1593 handle_ori_imm(as_imm(op[0]))
1595 handle_or_v4_v4(vreg_value(op[0]).i32, vreg_value(op[1]).i32)
1597 handle_ashr2_v8(vreg_value(op[0]).i32)
1599 handle_ashr2_64_v8(vreg_value(op[0]).i64)
1601 handle_ashri_imm(as_imm(op[0]))
1603 handle_ashr_v4_v4(vreg_value(op[0]).i32, vreg_value(op[1]).i32)
1606 handle_shri_imm(i8toi32(as_imm(op[0])))
1608 handle_shr_v4_v4(vreg_value(op[0]).i32, vreg_value(op[1]).i32)
1610 handle_shr2_v8(vreg_value(op[0]).i32)
1612 handle_shr2_64_v8(vreg_value(op[0]).i64)
1615 handle_xor2_v8(vreg_value(op[0]).i32)
1617 handle_xor2_64_v8(vreg_value(op[0]).i64)
1619 handle_xori_imm(as_imm(op[0]))
1621 handle_xor_v4_v4(vreg_value(op[0]).i32, vreg_value(op[1]).i32)
1624 handle_shli_imm(i8toi32(as_imm(op[0])))
1626 handle_shl_v4_v4(vreg_value(op[0]).i32, vreg_value(op[1]).i32)
1628 handle_shl2_v8(vreg_value(op[0]).i32)
1630 handle_shl2_64_v8(vreg_value(op[0]).i64)
1641 handle_newarr_v4_v4_id16(vreg_ptr(op[0]), vreg_value(op[1]), as_id(op[2]))
1643 handle_newobj_v8_id16(vreg_ptr(op[0]), as_id(op[1]))
1646 handle_isinstance_id16(as_id(op[0]))
1648 handle_checkcast_id16(as_id(op[0]))
1722 handle_call_short_v4_v4_id16(op[1], op[2], as_id(op[0]), i.format.size)
1724 handle_call_acc_short_v4_imm4_id16(op[1], as_imm(op[2]), as_id(op[0]), i.format.size)
1726 …handle_call_acc_v4_v4_v4_imm4_id16(op[1], op[2], op[3], as_imm(op[4]), as_id(op[0]), i.format.size)
1728 handle_call_v4_v4_v4_v4_id16(op[1], op[2], op[3], op[4], as_id(op[0]), i.format.size)
1730 handle_call_range_v8_id16(op[1], as_id(op[0]), i.format.size)
1732 handle_call_virt_short_v4_v4_id16(op[1], op[2], as_id(op[0]), i.format.size)
1734 handle_call_virt_acc_short_v4_imm4_id16(op[1], as_imm(op[2]), as_id(op[0]), i.format.size)
1736 handle_call_virt_v4_v4_v4_v4_id16(op[1], op[2], op[3], op[4], as_id(op[0]), i.format.size)
1738 …handle_call_virt_acc_v4_v4_v4_imm4_id16(op[1], op[2], op[3], as_imm(op[4]), as_id(op[0]), i.format…
1740 handle_call_virt_range_v8_id16(op[1], as_id(op[0]), i.format.size)
1742 handle_initobj_short_v4_v4_id16(op[1], op[2], as_id(op[0]), i.format.size)
1744 handle_initobj_v4_v4_v4_v4_id16(op[1], op[2], op[3], op[4], as_id(op[0]), i.format.size)
1746 handle_initobj_range_v8_id16(op[1], as_id(op[0]), i.format.size)
1763 set_value(vreg_ptr(op[0]), vreg_value(op[1]).any).any
1765 set_value(vreg_ptr(op[0]), acc_value.any).any
1767 set_value(acc_ptr, vreg_value(op[0]).any).any
1769 set_value(acc_ptr, i32toany(as_imm(op[0]).i32)).any
1771 set_value(acc_ptr, f64toany(as_imm(op[0]).f64)).any