|
Lines 4403-4417
Link Here
|
| 4403 |
assign( frD, binop( Iop_AddF64, mkexpr(frA), mkexpr(frB) ) ); |
4403 |
assign( frD, binop( Iop_AddF64, mkexpr(frA), mkexpr(frB) ) ); |
| 4404 |
break; |
4404 |
break; |
| 4405 |
|
4405 |
|
| 4406 |
//zz case 0x16: // fsqrt (Floating SqRt (Double-Precision), PPC32 p427) |
4406 |
case 0x16: // fsqrt (Floating SqRt (Double-Precision), PPC32 p427) |
| 4407 |
//zz if (frA_addr != 0 || frC_addr != 0) { |
4407 |
if (frA_addr != 0 || frC_addr != 0) { |
| 4408 |
//zz vex_printf("dis_fp_arith(PPC32)(instr,fsqrt)\n"); |
4408 |
vex_printf("dis_fp_arith(PPC32)(instr,fsqrt)\n"); |
| 4409 |
//zz return False; |
4409 |
return False; |
| 4410 |
//zz } |
4410 |
} |
| 4411 |
//zz DIP("fsqrt%s fr%d,fr%d\n", flag_rC ? "." : "", |
4411 |
DIP("fsqrt%s fr%d,fr%d\n", flag_rC ? "." : "", |
| 4412 |
//zz frD_addr, frB_addr); |
4412 |
frD_addr, frB_addr); |
| 4413 |
//zz assign( frD, unop( Iop_SqrtF64, mkexpr(frB) ) ); |
4413 |
assign( frD, unop( Iop_SqrtF64, mkexpr(frB) ) ); |
| 4414 |
//zz break; |
4414 |
break; |
| 4415 |
|
4415 |
|
| 4416 |
case 0x17: { // fsel (Floating Select, PPC32 p426) |
4416 |
case 0x17: { // fsel (Floating Select, PPC32 p426) |
| 4417 |
IRTemp cc = newTemp(Ity_I32); |
4417 |
IRTemp cc = newTemp(Ity_I32); |