Commit 7ff4d2180b27b3356379ca66738da10ad8b2f73a

Authored by bellard
1 parent e88de099

CF generator for constant operands


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1267 c046a42c-6fe2-441c-8c8c-71466251a162
target-arm/op.c
... ... @@ -105,6 +105,11 @@ void OPPROTO op_movl_T1_im(void)
105 105 T1 = PARAM1;
106 106 }
107 107  
  108 +void OPPROTO op_mov_CF_T1(void)
  109 +{
  110 + env->CF = ((uint32_t)T1) >> 31;
  111 +}
  112 +
108 113 void OPPROTO op_movl_T2_im(void)
109 114 {
110 115 T2 = PARAM1;
... ...
target-arm/translate.c
... ... @@ -536,7 +536,8 @@ static void disas_arm_insn(DisasContext *s)
536 536 if (shift)
537 537 val = (val >> shift) | (val << (32 - shift));
538 538 gen_op_movl_T1_im(val);
539   - /* XXX: is CF modified ? */
  539 + if (logic_cc && shift)
  540 + gen_op_mov_CF_T1();
540 541 } else {
541 542 /* register */
542 543 rm = (insn) & 0xf;
... ...