9 emitm_restore_i(NATIVECODE, emitm_g(0), emitm_g(0), emitm_g(0));
13 emitm_nop(NATIVECODE);
16 TEMPLATE Parrot_set_x_x {
18 jit_emit_mov_rr<_N>(NATIVECODE, MAP[1], MAP[2]);
21 jit_emit_load<_N>(jit_info, interp, 2, MAP[1]);
24 jit_emit_store<_N>(jit_info, interp, 1, MAP[2]);
27 jit_emit_load<_N>(jit_info, interp, 2, ISR1);
28 jit_emit_store<_N>(jit_info, interp, 1, ISR1);
33 Parrot_set_x_x s/<_N>/_i/
37 Parrot_set_x_x s/<_N>/_i/
41 Parrot_set_x_x s/<_N>/_i/
45 Parrot_set_x_x s/<_N>/_n/ s/ISR/FSR/
49 Parrot_set_x_x s/<_N>/_i/
54 jit_emit_load_n(jit_info, interp, 2, MAP[1]);
55 emitm_fitod(NATIVECODE, MAP[1], MAP[1]);
58 jit_emit_load_n(jit_info, interp, 2, FSR1);
59 emitm_fitod(NATIVECODE, FSR1, FSR1);
60 jit_emit_store_n(jit_info, interp, 1, FSR1);
65 Parrot_set_x_x s/<_N>/_n/ s/ISR/FSR/
69 /* There's no way to move a value directly between integer and floating
70 * point registers so the mapped integer register must be written to memory
73 jit_emit_store_i(jit_info, interp, 2, MAP[2]);
76 jit_emit_load_n(jit_info, interp, 2, FSR1);
78 /* If result register is mapped convert directly into the register */
80 emitm_fitod(NATIVECODE, FSR1, MAP[1]);
83 emitm_fitod(NATIVECODE, FSR1, FSR2);
84 jit_emit_store_n(jit_info, interp, 1, FSR2);
90 emitm_fdtoi(NATIVECODE, MAP[2], FSR2);
93 jit_emit_load_n(jit_info, interp, 2, FSR1);
94 emitm_fdtoi(NATIVECODE, FSR1, FSR2);
97 jit_emit_store_n(jit_info, interp, 1, FSR2);
99 /* No float reg to integer reg move instruction available */
101 jit_emit_load_i(jit_info, interp, 1, MAP[1]);
107 emitm_fdtoi(NATIVECODE, MAP[2], FSR1);
110 jit_emit_load_n(jit_info, interp, 2, FSR2);
111 emitm_fdtoi(NATIVECODE, FSR2, FSR1);
114 jit_emit_store_n(jit_info, interp, 1, FSR1);
117 jit_emit_load_i(jit_info, interp, 1, MAP[1]);
121 TEMPLATE Parrot_binop_x_x {
129 jit_emit_load<_N>(jit_info, interp, 1, ISR1);
137 jit_emit_load<_N>(jit_info, interp, 2, arg2);
140 emitm_<op>(NATIVECODE, arg1, arg2, arg1);
143 jit_emit_store<_N>(jit_info, interp, 1, arg1);
148 Parrot_binop_x_x s/<op>/add_r/ s/<_N>/_i/
152 Parrot_binop_x_x s/<op>/sub_r/ s/<_N>/_i/
156 Parrot_binop_x_x s/<op>/or_r/ s/<_N>/_i/
160 Parrot_binop_x_x s/<op>/xor_r/ s/<_N>/_i/
164 Parrot_binop_x_x s/<op>/and_r/ s/<_N>/_i/
168 Parrot_binop_x_x s/<op>/faddd/ s/<_N>/_n/
172 Parrot_binop_x_x s/<op>/fsubd/ s/<_N>/_n/
176 Parrot_binop_x_x s/<op>/fmuld/ s/<_N>/_n/
180 Parrot_binop_x_x s/<op>/fdivd/ s/<_N>/_n/
183 TEMPLATE Parrot_incdec_i {
191 jit_emit_load_i(jit_info, interp, 1, arg1);
194 emitm_<op>_i(NATIVECODE, arg1, 1, arg1);
197 jit_emit_store_i(jit_info, interp, 1, arg1);
202 Parrot_incdec_i s/<op>/add/
206 Parrot_incdec_i s/<op>/sub/
209 TEMPLATE Parrot_binop_i_xc {
217 jit_emit_load_i(jit_info, interp, 1, arg1);
220 if(emitm_simm13_const(*INT_CONST[2])){
221 emitm_<op>_i(NATIVECODE, arg1, *INT_CONST[2], arg1);
224 jit_emit_load_i(jit_info, interp, 2, ISR1);
225 emitm_<op>_r(NATIVECODE, arg1, ISR1, arg1);
229 jit_emit_store_i(jit_info, interp, 1, arg1);
234 Parrot_binop_i_xc s/<op>/add/
238 Parrot_binop_i_xc s/<op>/sub/
242 Parrot_binop_i_xc s/<op>/or/
246 Parrot_binop_i_xc s/<op>/and/
250 Parrot_binop_i_xc s/<op>/xor/
254 Parrot_binop_x_x s/<op>/faddd/ s/ISR/FSR/ s/<_N>/_n/
258 Parrot_binop_x_x s/<op>/fsubd/ s/ISR/FSR/ s/<_N>/_n/
262 Parrot_binop_x_x s/<op>/fmuld/ s/ISR/FSR/ s/<_N>/_n/
266 Parrot_binop_x_x s/<op>/fdivd/ s/ISR/FSR/ s/<_N>/_n/
269 TEMPLATE Parrot_binop_x_x_x {
272 /* Generate load if needed */
278 jit_emit_load<_N>(jit_info, interp, 2, arg2);
281 /* Generate load if needed */
287 jit_emit_load<_N>(jit_info, interp, 3, arg3);
290 /* Destination is a register */
292 emitm_<op>(NATIVECODE, arg2, arg3, MAP[1]);
294 /* Destination is memory */
296 emitm_<op>(NATIVECODE, arg2, arg3, ISR1);
297 jit_emit_store<_N>(jit_info, interp, 1, ISR1);
302 Parrot_binop_x_x_x s/<op>/add_r/ s/<_N>/_i/
306 Parrot_binop_x_x_x s/<op>/sub_r/ s/<_N>/_i/
309 Parrot_band_i_ic_ic {
310 Parrot_binop_x_x_x s/<op>/and_r/ s/<_N>/_i/
314 Parrot_binop_x_x_x s/<op>/or_r/ s/<_N>/_i/
317 Parrot_bxor_i_ic_ic {
318 Parrot_binop_x_x_x s/<op>/xor_r/ s/<_N>/_i/
322 Parrot_binop_x_x_x s/<op>/sll_r/ s/<_N>/_i/
326 Parrot_binop_x_x_x s/<op>/sra_r/ s/<_N>/_i/
330 Parrot_binop_x_x_x s/<op>/srl_r/ s/<_N>/_i/
334 Parrot_binop_x_x_x s/<op>/faddd/ s/<_N>/_n/ s/ISR/FSR/
338 Parrot_binop_x_x_x s/<op>/fsubd/ s/<_N>/_n/ s/ISR/FSR/
342 Parrot_binop_x_x_x s/<op>/fmuld/ s/<_N>/_n/ s/ISR/FSR/
346 Parrot_binop_x_x_x s/<op>/fdivd/ s/<_N>/_n/ s/ISR/FSR/
350 Parrot_binop_x_x_x s/<op>/add_r/ s/<_N>/_i/
354 Parrot_binop_x_x_x s/<op>/sub_r/ s/<_N>/_i/
358 Parrot_binop_x_x_x s/<op>/or_r/ s/<_N>/_i/
362 Parrot_binop_x_x_x s/<op>/xor_r/ s/<_N>/_i/
366 Parrot_binop_x_x_x s/<op>/and_r/ s/<_N>/_i/
370 Parrot_binop_x_x_x s/<op>/faddd/ s/<_N>/_n/
374 Parrot_binop_x_x_x s/<op>/fsubd/ s/<_N>/_n/
378 Parrot_binop_x_x_x s/<op>/fmuld/ s/<_N>/_n/
382 Parrot_binop_x_x_x s/<op>/fdivd/ s/<_N>/_n/
386 Parrot_binop_x_x_x s/<op>/add_r/ s/<_N>/_i/
390 Parrot_binop_x_x_x s/<op>/sub_r/ s/<_N>/_i/
394 Parrot_binop_x_x_x s/<op>/or_r/ s/<_N>/_i/
398 Parrot_binop_x_x_x s/<op>/xor_r/ s/<_N>/_i/
402 Parrot_binop_x_x_x s/<op>/and_r/ s/<_N>/_i/
406 Parrot_binop_x_x_x s/<op>/sll_r/ s/<_N>/_i/
410 Parrot_binop_x_x_x s/<op>/sra_r/ s/<_N>/_i/
414 Parrot_binop_x_x_x s/<op>/srl_r/ s/<_N>/_i/
418 Parrot_binop_x_x_x s/<op>/faddd/ s/<_N>/_n/
422 Parrot_binop_x_x_x s/<op>/fsubd/ s/<_N>/_n/
426 Parrot_binop_x_x_x s/<op>/fmuld/ s/<_N>/_n/
430 Parrot_binop_x_x_x s/<op>/fdivd/ s/<_N>/_n/
434 Parrot_binop_x_x_x s/<op>/add_r/ s/<_N>/_i/
438 Parrot_binop_x_x_x s/<op>/sub_r/ s/<_N>/_i/
442 Parrot_binop_x_x_x s/<op>/or_r/ s/<_N>/_i/
446 Parrot_binop_x_x_x s/<op>/xor_r/ s/<_N>/_i/
450 Parrot_binop_x_x_x s/<op>/and_r/ s/<_N>/_i/
454 Parrot_binop_x_x_x s/<op>/sll_r/ s/<_N>/_i/
458 Parrot_binop_x_x_x s/<op>/sra_r/ s/<_N>/_i/
462 Parrot_binop_x_x_x s/<op>/srl_r/ s/<_N>/_i/
466 Parrot_binop_x_x_x s/<op>/fsubd/ s/<_N>/_n/ s/ISR/FSR/
470 Parrot_binop_x_x_x s/<op>/faddd/ s/<_N>/_n/ s/ISR/FSR/
474 Parrot_binop_x_x_x s/<op>/fmuld/ s/<_N>/_n/ s/ISR/FSR/
478 Parrot_binop_x_x_x s/<op>/fdivd/ s/<_N>/_n/ s/ISR/FSR/
484 ; emitm_fnegs(NATIVECODE, MAP[1], MAP[1]);
487 ; jit_emit_load_n(jit_info, interp, 1, FSR1);
488 ; emitm_fnegs(NATIVECODE, FSR1, FSR1);
489 ; jit_emit_store_n(jit_info, interp, 1, FSR1);
493 TEMPLATE Parrot_unop_x_x {
494 if(MAP[1] && MAP[2]){
495 emitm_<op>(NATIVECODE, MAP[2], MAP[1]);
498 jit_emit_load<_N>(jit_info, interp, 2, MAP[1]);
499 emitm_<op>(NATIVECODE, MAP[1], MAP[1]);
502 jit_emit_load<_N>(jit_info, interp, 2, ISR1);
503 emitm_<op>(NATIVECODE, ISR1, ISR1);
504 jit_emit_store<_N>(jit_info, interp, 1, ISR1);
508 TEMPLATE Parrot_unop_x_nc {
509 if(MAP[1] && MAP[2]){
510 emitm_<op>(NATIVECODE, MAP[2], MAP[1]);
513 jit_emit_load<_N>(jit_info, interp, 2, MAP[1]);
514 emitm_<op>(NATIVECODE, MAP[1], MAP[1]);
517 jit_emit_load<_N>(jit_info, interp, 2, ISR1);
518 emitm_<op>(NATIVECODE, ISR1, ISR1);
519 jit_emit_store<_N>(jit_info, interp, 1, ISR1);
524 ; Parrot_unop_x_x s/<op>/fnegs/ s/<_N>/_n/ s/ISR/FSR/
528 ; Parrot_unop_x_x s/<op>/fnegs/ s/<_N>/_n/ s/ISR/FSR/
531 TEMPLATE Parrot_abs_nx_nx {
532 if(MAP[1] && MAP[2]){
533 emitm_fabss(NATIVECODE, MAP[2], MAP[1]);
534 emitm_fmovs(NATIVECODE, MAP[2] + 1, MAP[1] + 1);
537 jit_emit_load_n(jit_info, interp, 2, MAP[1]);
538 emitm_fabss(NATIVECODE, MAP[1], MAP[1]);
541 jit_emit_load_n(jit_info, interp, 2, FSR1);
542 emitm_fabss(NATIVECODE, FSR1, FSR1);
543 jit_emit_store_n(jit_info, interp, 1, FSR1);
555 TEMPLATE Parrot_sqrt_nx_nx {
556 if(MAP[1] && MAP[2]){
557 emitm_fsqrtd(NATIVECODE, MAP[2], MAP[1]);
560 jit_emit_load_n(jit_info, interp, 2, MAP[1]);
561 emitm_fsqrtd(NATIVECODE, MAP[1], MAP[1]);
564 jit_emit_load_n(jit_info, interp, 2, FSR1);
565 emitm_fsqrtd(NATIVECODE, FSR1, FSR1);
566 jit_emit_store_n(jit_info, interp, 1, FSR1);
579 TEMPLATE Parrot_if_ix_x {
581 emitm_subcc_r(NATIVECODE, MAP[1], emitm_g(0), emitm_g(0));
584 jit_emit_load_i(jit_info, interp, 1, ISR1);
585 emitm_subcc_r(NATIVECODE, ISR1, emitm_g(0), emitm_g(0));
588 Parrot_jit_bicc(jit_info, emitm_<a>, 0, *INT_CONST[2]);
589 emitm_nop(NATIVECODE);
593 Parrot_if_ix_x s/<a>/bne/
597 Parrot_if_ix_x s/<a>/bne/
601 Parrot_if_ix_x s/<a>/be/
605 Parrot_jit_bicc(jit_info, emitm_ba, 0, *INT_CONST[1]);
606 emitm_nop(NATIVECODE);
609 TEMPLATE Parrot_cmp_x_x_ic {
610 if(MAP[1] && MAP[2]){
611 emitm_<op>(NATIVECODE, MAP[1], MAP[2] <nill>);
614 jit_emit_load<_N>(jit_info, interp, 2, ISR2);
615 emitm_<op>(NATIVECODE, MAP[1], ISR2 <nill>);
618 jit_emit_load<_N>(jit_info, interp, 1, ISR1);
619 emitm_<op>(NATIVECODE, ISR1, MAP[2] <nill>);
622 jit_emit_load<_N>(jit_info, interp, 1, ISR1);
623 jit_emit_load<_N>(jit_info, interp, 2, ISR2);
624 emitm_<op>(NATIVECODE, ISR1, ISR2 <nill>);
627 Parrot_jit_<branch>(jit_info, emitm_<a>, 0, *INT_CONST[3]);
628 emitm_nop(NATIVECODE);
632 Parrot_cmp_x_x_ic s/<a>/be/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
636 Parrot_cmp_x_x_ic s/<a>/be/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
640 Parrot_cmp_x_x_ic s/<a>/be/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
644 Parrot_cmp_x_x_ic s/<a>/be/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
648 Parrot_cmp_x_x_ic s/<a>/bne/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
652 Parrot_cmp_x_x_ic s/<a>/bne/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
656 Parrot_cmp_x_x_ic s/<a>/bne/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
660 Parrot_cmp_x_x_ic s/<a>/bne/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
664 Parrot_cmp_x_x_ic s/<a>/bl/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
668 Parrot_cmp_x_x_ic s/<a>/bl/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
672 Parrot_cmp_x_x_ic s/<a>/bl/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
676 Parrot_cmp_x_x_ic s/<a>/bl/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
680 Parrot_cmp_x_x_ic s/<a>/ble/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
684 Parrot_cmp_x_x_ic s/<a>/ble/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
688 Parrot_cmp_x_x_ic s/<a>/ble/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
692 Parrot_cmp_x_x_ic s/<a>/ble/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
696 Parrot_cmp_x_x_ic s/<a>/bg/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
700 Parrot_cmp_x_x_ic s/<a>/bg/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
704 Parrot_cmp_x_x_ic s/<a>/bg/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
708 Parrot_cmp_x_x_ic s/<a>/bg/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
712 Parrot_cmp_x_x_ic s/<a>/bge/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
716 Parrot_cmp_x_x_ic s/<a>/bge/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
720 Parrot_cmp_x_x_ic s/<a>/bge/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
724 Parrot_cmp_x_x_ic s/<a>/bge/ s/<op>/subcc_r/ s/<branch>/bicc/ s/<_N>/_i/ s/<nill>/, emitm_g(0)/
728 Parrot_cmp_x_x_ic s/<a>/fbe/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
732 Parrot_cmp_x_x_ic s/<a>/fbe/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
736 Parrot_cmp_x_x_ic s/<a>/fbe/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
740 Parrot_cmp_x_x_ic s/<a>/fbe/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
744 Parrot_cmp_x_x_ic s/<a>/fbne/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
748 Parrot_cmp_x_x_ic s/<a>/fbne/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
752 Parrot_cmp_x_x_ic s/<a>/fbne/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
756 Parrot_cmp_x_x_ic s/<a>/fbne/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
760 Parrot_cmp_x_x_ic s/<a>/fbl/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
764 Parrot_cmp_x_x_ic s/<a>/fbl/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
768 Parrot_cmp_x_x_ic s/<a>/fbl/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
772 Parrot_cmp_x_x_ic s/<a>/fbl/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
776 Parrot_cmp_x_x_ic s/<a>/fble/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
780 Parrot_cmp_x_x_ic s/<a>/fble/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
784 Parrot_cmp_x_x_ic s/<a>/fble/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
788 Parrot_cmp_x_x_ic s/<a>/fble/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
792 Parrot_cmp_x_x_ic s/<a>/fbg/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
796 Parrot_cmp_x_x_ic s/<a>/fbg/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
800 Parrot_cmp_x_x_ic s/<a>/fbg/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
804 Parrot_cmp_x_x_ic s/<a>/fbg/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
808 Parrot_cmp_x_x_ic s/<a>/fbge/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
812 Parrot_cmp_x_x_ic s/<a>/fbge/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
816 Parrot_cmp_x_x_ic s/<a>/fbge/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
820 Parrot_cmp_x_x_ic s/<a>/fbge/ s/<op>/fcmpd/ s/<branch>/fbfcc/ s/<_N>/_n/ s/ISR/FSR/ s/<nill>//
823 TEMPLATE Parrot_iscmp_ix_ix_ix {
824 if(MAP[2] && MAP[3]){
825 emitm_subcc_r(NATIVECODE, MAP[2], MAP[3], emitm_g(0));
828 jit_emit_load_i(jit_info, interp, 3, ISR2);
829 emitm_subcc_r(NATIVECODE, MAP[2], ISR2, emitm_g(0));
832 jit_emit_load_i(jit_info, interp, 2, ISR1);
833 emitm_subcc_r(NATIVECODE, ISR1, MAP[3], emitm_g(0));
836 jit_emit_load_i(jit_info, interp, 2, ISR1);
837 jit_emit_load_i(jit_info, interp, 3, ISR2);
838 emitm_subcc_r(NATIVECODE, ISR1, ISR2, emitm_g(0));
841 emitm_bicc(NATIVECODE, 1, emitm_<a>, 3);
844 emitm_mov_i(NATIVECODE, 1, MAP[1]);
845 emitm_or_r(NATIVECODE, emitm_g(0), emitm_g(0), MAP[1]);
847 jit_emit_store_i(jit_info, interp, 1, 1);
848 jit_emit_store_i(jit_info, interp, 1, 0);
853 Parrot_iscmp_ix_ix_ix s/<a>/bg/
857 Parrot_iscmp_ix_ix_ix s/<a>/bg/
861 Parrot_iscmp_ix_ix_ix s/<a>/bg/
864 Parrot_isgt_i_ic_ic {
865 Parrot_iscmp_ix_ix_ix s/<a>/bg/
869 Parrot_iscmp_ix_ix_ix s/<a>/bge/
873 Parrot_iscmp_ix_ix_ix s/<a>/bge/
877 Parrot_iscmp_ix_ix_ix s/<a>/bge/
880 Parrot_isge_i_ic_ic {
881 Parrot_iscmp_ix_ix_ix s/<a>/bge/
885 Parrot_iscmp_ix_ix_ix s/<a>/ble/
889 Parrot_iscmp_ix_ix_ix s/<a>/ble/
893 Parrot_iscmp_ix_ix_ix s/<a>/ble/
896 Parrot_isle_i_ic_ic {
897 Parrot_iscmp_ix_ix_ix s/<a>/ble/
901 Parrot_iscmp_ix_ix_ix s/<a>/bl/
905 Parrot_iscmp_ix_ix_ix s/<a>/bl/
909 Parrot_iscmp_ix_ix_ix s/<a>/bl/
912 Parrot_islt_i_ic_ic {
913 Parrot_iscmp_ix_ix_ix s/<a>/bl/
917 Parrot_iscmp_ix_ix_ix s/<a>/be/
921 Parrot_iscmp_ix_ix_ix s/<a>/be/
925 Parrot_iscmp_ix_ix_ix s/<a>/be/
928 Parrot_iseq_i_ic_ic {
929 Parrot_iscmp_ix_ix_ix s/<a>/be/
933 Parrot_iscmp_ix_ix_ix s/<a>/bne/
937 Parrot_iscmp_ix_ix_ix s/<a>/bne/
941 Parrot_iscmp_ix_ix_ix s/<a>/bne/
944 Parrot_isne_i_ic_ic {
945 Parrot_iscmp_ix_ix_ix s/<a>/bne/
950 * c-indentation-style: bsd
952 * indent-tabs-mode: nil
955 * vim: expandtab shiftwidth=4: