This commit is contained in:
Pavel 2025-03-25 14:40:39 +03:00
parent 737c568bf9
commit c95a363157
3 changed files with 41 additions and 13 deletions

View File

@ -2005,6 +2005,29 @@ begin
pLine:=src.pLine; pLine:=src.pLine;
vint6:=NewImm_i(dtInt32,6); vint6:=NewImm_i(dtInt32,6);
Case count of
1:
begin
rvec[0]:=NewReg(dtInt32);
pLine:=_Op3(pLine,Op.OpBitFieldSExtract,rvec[0],src,NewImm_i(dtInt32, 0),vint6);
src:=rvec[0];
end;
2:
begin
rvec[0]:=NewReg(dtInt32);
rvec[1]:=NewReg(dtInt32);
pLine:=_Op3(pLine,Op.OpBitFieldSExtract,rvec[0],src,NewImm_i(dtInt32, 0),vint6);
pLine:=_Op3(pLine,Op.OpBitFieldSExtract,rvec[1],src,NewImm_i(dtInt32, 8),vint6);
src:=NewReg(dtVec2i);
pLine:=OpMakeCon(pLine,src,@rvec);
end;
3:
begin
rvec[0]:=NewReg(dtInt32); rvec[0]:=NewReg(dtInt32);
rvec[1]:=NewReg(dtInt32); rvec[1]:=NewReg(dtInt32);
rvec[2]:=NewReg(dtInt32); rvec[2]:=NewReg(dtInt32);
@ -2015,8 +2038,12 @@ begin
src:=NewReg(dtVec3i); src:=NewReg(dtVec3i);
pLine:=OpMakeCon(pLine,src,@rvec); pLine:=OpMakeCon(pLine,src,@rvec);
end;
else
Assert(False);
end;
dst.dtype :=dtVec3i; dst.dtype :=src.dtype;
dst.pWriter:=src; dst.pWriter:=src;
node.mark_not_used; node.mark_not_used;

View File

@ -861,7 +861,7 @@ begin
cur:=RegDownSlot(pSlot^.current); cur:=RegDownSlot(pSlot^.current);
prv:=RegDownSlot(prev); prv:=RegDownSlot(prev);
Assert(CompareReg(RegDownSlot(orig),RegDownSlot(prev))); //Assert(CompareReg(RegDownSlot(orig),RegDownSlot(prev)));
if CompareReg(cur,prv) then if CompareReg(cur,prv) then
begin begin

View File

@ -284,9 +284,10 @@ var
begin begin
ret:=is_sce_prog_attr_20_800000(@g_appinfo); ret:=is_sce_prog_attr_20_800000(@g_appinfo);
if (ret) then
begin
size:=$a0000000; //2GB size:=$a0000000; //2GB
end else
if (ret=False) then
begin begin
ret:=is_sce_prog_attr_20_400000(@g_appinfo); ret:=is_sce_prog_attr_20_400000(@g_appinfo);