diff --git a/compiler/xtensa/cgcpu.pas b/compiler/xtensa/cgcpu.pas index 942039966c..eac742d810 100644 --- a/compiler/xtensa/cgcpu.pas +++ b/compiler/xtensa/cgcpu.pas @@ -517,6 +517,8 @@ implementation list.concat(taicpu.op_reg_reg_const(A_SLLI,dst,src,a)) else if (op=OP_SHR) and (a>=0) and (a<=15) then list.concat(taicpu.op_reg_reg_const(A_SRLI,dst,src,a)) + else if (op=OP_SHR) and (a>15) and (a<=31) then + list.concat(taicpu.op_reg_reg_const_const(A_EXTUI,dst,src,a,32-a)) else begin tmpreg:=getintregister(list,size);