* fixed std_regname() for xmm registers with custom sizes

* fixed findreg_by_number() for xmm registers with R_SUBNONE
    (from the assembler reader)

git-svn-id: trunk@23151 -
This commit is contained in:
Jonas Maebe 2012-12-15 22:47:12 +00:00
parent 6e9a8c9187
commit 68dd05e259

View File

@ -458,10 +458,9 @@ implementation
begin begin
{ for the name the sub reg doesn't matter } { for the name the sub reg doesn't matter }
hr:=r; hr:=r;
case getsubreg(hr) of if (getregtype(hr)=R_MMREGISTER) and
R_SUBMMS,R_SUBMMD,R_SUBMMWHOLE: (getsubreg(hr)<>R_SUBMMY) then
setsubreg(hr,R_SUBMMX); setsubreg(hr,R_SUBMMX);
end;
result:=findreg_by_number_table(hr,regnumber_index); result:=findreg_by_number_table(hr,regnumber_index);
end; end;
@ -478,7 +477,7 @@ implementation
begin begin
if getregtype(r) in [R_MMREGISTER,R_MMXREGISTER] then if getregtype(r) in [R_MMREGISTER,R_MMXREGISTER] then
r:=newreg(getregtype(r),getsupreg(r),R_SUBNONE); r:=newreg(getregtype(r),getsupreg(r),R_SUBNONE);
p:=findreg_by_number_table(r,regnumber_index); p:=findreg_by_number(r);
if p<>0 then if p<>0 then
result:=std_regname_table[p] result:=std_regname_table[p]
else else