comparison lwasm/insn_gen.c @ 383:848d3cca8078

Fixed imm8 to actually use expression and also fixed gen mode to respect > and <
author lost@starbug
date Sat, 15 May 2010 20:01:58 -0600
parents eacdae8a1575
children b8549694b4c9
comparison
equal deleted inserted replaced
382:eacdae8a1575 383:848d3cca8078
92 { 92 {
93 l -> lint2 = 2; 93 l -> lint2 = 2;
94 goto out; 94 goto out;
95 } 95 }
96 96
97 if (l -> lint2 != -1)
98 goto out;
99
97 // if we have a constant now, figure out dp vs nondp 100 // if we have a constant now, figure out dp vs nondp
98 if (lw_expr_istype(s, lw_expr_type_int)) 101 if (lw_expr_istype(s, lw_expr_type_int))
99 { 102 {
100 v1 = lw_expr_intval(s); 103 v1 = lw_expr_intval(s);
101 if (((v1 >> 8) & 0xff) == (l -> dpval & 0xff)) 104 if (((v1 >> 8) & 0xff) == (l -> dpval & 0xff))
433 EMITFUNC(insn_emit_imm8) 436 EMITFUNC(insn_emit_imm8)
434 { 437 {
435 lw_expr_t e; 438 lw_expr_t e;
436 439
437 lwasm_emitop(l, instab[l -> insn].ops[0]); 440 lwasm_emitop(l, instab[l -> insn].ops[0]);
441 e = lwasm_fetch_expr(l, 0);
438 lwasm_emitexpr(l, e, 1); 442 lwasm_emitexpr(l, e, 1);
439 } 443 }