* support of avx register requires now proper usage of R_SUBMMWHOLE

git-svn-id: trunk@22574 -
This commit is contained in:
florian 2012-10-07 18:47:17 +00:00
parent 65aa6fb379
commit 2e7fe1aebd
2 changed files with 3 additions and 3 deletions

View File

@ -2182,7 +2182,7 @@ implementation
begin
if saved_mm_registers[r] in rg[R_MMREGISTER].used_in_proc then
begin
a_loadmm_reg_ref(list,OS_VECTOR,OS_VECTOR,newreg(R_MMREGISTER,saved_mm_registers[r],R_SUBNONE),href,nil);
a_loadmm_reg_ref(list,OS_VECTOR,OS_VECTOR,newreg(R_MMREGISTER,saved_mm_registers[r],R_SUBMMWHOLE),href,nil);
inc(href.offset,tcgsize2size[OS_VECTOR]);
end;
include(rg[R_MMREGISTER].preserved_by_proc,saved_mm_registers[r]);
@ -2222,7 +2222,7 @@ implementation
begin
if saved_mm_registers[r] in rg[R_MMREGISTER].used_in_proc then
begin
hreg:=newreg(R_MMREGISTER,saved_mm_registers[r],R_SUBNONE);
hreg:=newreg(R_MMREGISTER,saved_mm_registers[r],R_SUBMMWHOLE);
{ Allocate register so the optimizer does not remove the load }
a_reg_alloc(list,hreg);
a_loadmm_ref_reg(list,OS_VECTOR,OS_VECTOR,href,hreg,nil);

View File

@ -160,7 +160,7 @@ unit cgcpu;
if saved_mm_registers[r] in rg[R_MMREGISTER].used_in_proc then
begin
templist.concat(cai_seh_directive.create_reg_offset(ash_savexmm,
newreg(R_MMREGISTER,saved_mm_registers[r],R_SUBNONE),
newreg(R_MMREGISTER,saved_mm_registers[r],R_SUBMMWHOLE),
href.offset+frame_offset));
inc(href.offset,tcgsize2size[OS_VECTOR]);
end;