|
@@ -889,7 +889,7 @@ begin
|
|
extrdi_startbit := 64 - (sreg.bitlen + sreg.startbit);
|
|
extrdi_startbit := 64 - (sreg.bitlen + sreg.startbit);
|
|
if (sreg.startbit <> 0) then begin
|
|
if (sreg.startbit <> 0) then begin
|
|
list.concat(taicpu.op_reg_reg_const_const(A_EXTRDI, destreg, sreg.subsetreg, sreg.bitlen, extrdi_startbit));
|
|
list.concat(taicpu.op_reg_reg_const_const(A_EXTRDI, destreg, sreg.subsetreg, sreg.bitlen, extrdi_startbit));
|
|
- a_load_reg_reg(list, tcgsize2unsigned[sreg.subsetregsize], subsetsize, destreg, destreg);
|
|
|
|
|
|
+ a_load_reg_reg(list, tcgsize2unsigned[subsetsize], subsetsize, destreg, destreg);
|
|
a_load_reg_reg(list, subsetsize, tosize, destreg, destreg);
|
|
a_load_reg_reg(list, subsetsize, tosize, destreg, destreg);
|
|
end else begin
|
|
end else begin
|
|
a_load_reg_reg(list, tcgsize2unsigned[sreg.subsetregsize], subsetsize, sreg.subsetreg, destreg);
|
|
a_load_reg_reg(list, tcgsize2unsigned[sreg.subsetregsize], subsetsize, sreg.subsetreg, destreg);
|