return Acc_NZ;
}
-//.. /* Constant 1:Bit */
-//.. if (e->tag == Iex_Const && e->Iex.Const.con->Ico.U1 == True) {
-//.. HReg r;
-//.. vassert(e->Iex.Const.con->tag == Ico_U1);
-//.. r = newVRegI(env);
-//.. addInstr(env, X86Instr_Alu32R(Xalu_MOV,X86RMI_Imm(0),r));
-//.. addInstr(env, X86Instr_Alu32R(Xalu_XOR,X86RMI_Reg(r),r));
-//.. return Xcc_Z;
-//.. }
+ /* Constant 1:Bit */
+ if (e->tag == Iex_Const) {
+ HReg r;
+ vassert(e->Iex.Const.con->tag == Ico_U1);
+ vassert(e->Iex.Const.con->Ico.U1 == True
+ || e->Iex.Const.con->Ico.U1 == False);
+ r = newVRegI(env);
+ addInstr(env, AMD64Instr_Alu64R(Aalu_MOV,AMD64RMI_Imm(0),r));
+ addInstr(env, AMD64Instr_Alu64R(Aalu_XOR,AMD64RMI_Reg(r),r));
+ return e->Iex.Const.con->Ico.U1 ? Acc_Z : Acc_NZ;
+ }
/* Not1(...) */
if (e->tag == Iex_Unop && e->Iex.Unop.op == Iop_Not1) {