mirror of https://github.com/red-prig/fpPS4.git
This commit is contained in:
parent
227d4b3d03
commit
694fe0e071
|
@ -3736,6 +3736,7 @@ begin
|
|||
end;
|
||||
|
||||
Vex.rexW:=False;
|
||||
if not (not_prefix in desc.opt) then
|
||||
if (mreg.AMemSize=os64) then
|
||||
begin
|
||||
Vex.rexW:=True;
|
||||
|
@ -3818,6 +3819,7 @@ begin
|
|||
end;
|
||||
|
||||
Vex.rexW:=False;
|
||||
if not (not_prefix in desc.opt) then
|
||||
if (mreg.AMemSize=os64) then
|
||||
begin
|
||||
Vex.rexW:=True;
|
||||
|
@ -3886,20 +3888,19 @@ begin
|
|||
|
||||
ji:=default_jit_instruction;
|
||||
|
||||
Vex.Length:=0;
|
||||
Vex.rexW:=False;
|
||||
|
||||
if (size=os0) then
|
||||
begin
|
||||
size:=reg0.ASize;
|
||||
end;
|
||||
|
||||
Vex.Length:=0;
|
||||
if not (not_vex_len in desc.opt) then
|
||||
if (size=os256) then
|
||||
begin
|
||||
Vex.Length:=1;
|
||||
end;
|
||||
|
||||
Vex.rexW:=False;
|
||||
if not (not_prefix in desc.opt) then
|
||||
if (size=os64) then
|
||||
begin
|
||||
|
@ -3963,20 +3964,19 @@ begin
|
|||
|
||||
ji:=default_jit_instruction;
|
||||
|
||||
Vex.Length:=0;
|
||||
Vex.rexW:=False;
|
||||
|
||||
if (mreg.AMemSize=os0) then
|
||||
begin
|
||||
mreg.AMemSize:=reg.ASize;
|
||||
end;
|
||||
|
||||
Vex.Length:=0;
|
||||
if not (not_vex_len in desc.opt) then
|
||||
if (mreg.AMemSize=os256) then
|
||||
begin
|
||||
Vex.Length:=1;
|
||||
end;
|
||||
|
||||
Vex.rexW:=False;
|
||||
if not (not_prefix in desc.opt) then
|
||||
if (mreg.AMemSize=os64) then
|
||||
begin
|
||||
|
@ -4039,20 +4039,19 @@ begin
|
|||
|
||||
ji:=default_jit_instruction;
|
||||
|
||||
Vex.Length:=0;
|
||||
Vex.rexW:=False;
|
||||
|
||||
if (size=os0) then
|
||||
begin
|
||||
size:=reg0.ASize;
|
||||
end;
|
||||
|
||||
Vex.Length:=0;
|
||||
if not (not_vex_len in desc.opt) then
|
||||
if (size=os256) then
|
||||
begin
|
||||
Vex.Length:=1;
|
||||
end;
|
||||
|
||||
Vex.rexW:=False;
|
||||
if not (not_prefix in desc.opt) then
|
||||
if (size=os64) then
|
||||
begin
|
||||
|
@ -4110,20 +4109,19 @@ begin
|
|||
|
||||
ji:=default_jit_instruction;
|
||||
|
||||
Vex.Length:=0;
|
||||
Vex.rexW:=False;
|
||||
|
||||
if (mreg.AMemSize=os0) then
|
||||
begin
|
||||
mreg.AMemSize:=reg0.ASize;
|
||||
end;
|
||||
|
||||
Vex.Length:=0;
|
||||
if not (not_vex_len in desc.opt) then
|
||||
if (mreg.AMemSize=os256) then
|
||||
begin
|
||||
Vex.Length:=1;
|
||||
end;
|
||||
|
||||
Vex.rexW:=False;
|
||||
if not (not_prefix in desc.opt) then
|
||||
if (mreg.AMemSize=os64) then
|
||||
begin
|
||||
|
@ -4204,20 +4202,19 @@ begin
|
|||
|
||||
ji:=default_jit_instruction;
|
||||
|
||||
Vex.Length:=0;
|
||||
Vex.rexW:=False;
|
||||
|
||||
if (mreg.AMemSize=os0) then
|
||||
begin
|
||||
mreg.AMemSize:=reg0.ASize;
|
||||
end;
|
||||
|
||||
Vex.Length:=0;
|
||||
if not (not_vex_len in desc.opt) then
|
||||
if (mreg.AMemSize=os256) then
|
||||
begin
|
||||
Vex.Length:=1;
|
||||
end;
|
||||
|
||||
Vex.rexW:=False;
|
||||
if not (not_prefix in desc.opt) then
|
||||
if (mreg.AMemSize=os64) then
|
||||
begin
|
||||
|
@ -4301,20 +4298,19 @@ begin
|
|||
|
||||
ji:=default_jit_instruction;
|
||||
|
||||
Vex.Length:=0;
|
||||
Vex.rexW:=False;
|
||||
|
||||
if (size=os0) then
|
||||
begin
|
||||
size:=reg0.ASize;
|
||||
end;
|
||||
|
||||
Vex.Length:=0;
|
||||
if not (not_vex_len in desc.opt) then
|
||||
if (size=os256) then
|
||||
begin
|
||||
Vex.Length:=1;
|
||||
end;
|
||||
|
||||
Vex.rexW:=False;
|
||||
if not (not_prefix in desc.opt) then
|
||||
if (size=os64) then
|
||||
begin
|
||||
|
@ -4379,20 +4375,19 @@ begin
|
|||
|
||||
ji:=default_jit_instruction;
|
||||
|
||||
Vex.Length:=0;
|
||||
Vex.rexW:=False;
|
||||
|
||||
if (size=os0) then
|
||||
begin
|
||||
size:=reg0.ASize;
|
||||
end;
|
||||
|
||||
Vex.Length:=0;
|
||||
if not (not_vex_len in desc.opt) then
|
||||
if (size=os256) then
|
||||
begin
|
||||
Vex.Length:=1;
|
||||
end;
|
||||
|
||||
Vex.rexW:=False;
|
||||
if not (not_prefix in desc.opt) then
|
||||
if (size=os64) then
|
||||
begin
|
||||
|
@ -4453,20 +4448,19 @@ begin
|
|||
|
||||
ji:=default_jit_instruction;
|
||||
|
||||
Vex.Length:=0;
|
||||
Vex.rexW:=False;
|
||||
|
||||
if (size=os0) then
|
||||
begin
|
||||
size:=reg0.ASize;
|
||||
end;
|
||||
|
||||
Vex.Length:=0;
|
||||
if not (not_vex_len in desc.opt) then
|
||||
if (size=os256) then
|
||||
begin
|
||||
Vex.Length:=1;
|
||||
end;
|
||||
|
||||
Vex.rexW:=False;
|
||||
if not (not_prefix in desc.opt) then
|
||||
if (size=os64) then
|
||||
begin
|
||||
|
@ -4518,20 +4512,19 @@ begin
|
|||
|
||||
ji:=default_jit_instruction;
|
||||
|
||||
Vex.Length:=0;
|
||||
Vex.rexW:=False;
|
||||
|
||||
if (mreg.AMemSize=os0) then
|
||||
begin
|
||||
mreg.AMemSize:=reg.ASize;
|
||||
end;
|
||||
|
||||
Vex.Length:=0;
|
||||
if not (not_vex_len in desc.opt) then
|
||||
if (mreg.AMemSize=os256) then
|
||||
begin
|
||||
Vex.Length:=1;
|
||||
end;
|
||||
|
||||
Vex.rexW:=False;
|
||||
if not (not_prefix in desc.opt) then
|
||||
if (mreg.AMemSize=os64) then
|
||||
begin
|
||||
|
|
|
@ -787,7 +787,7 @@ end;
|
|||
const
|
||||
vbroadcastsd_desc:t_op_desc=(
|
||||
mem_reg:(opt:[not_impl]);
|
||||
reg_mem:(op:$19;simdop:1;mm:2;opt:[not_vex_len]);
|
||||
reg_mem:(op:$19;simdop:1;mm:2;opt:[not_prefix]);
|
||||
reg_imm:(opt:[not_impl]);
|
||||
reg_im8:(opt:[not_impl]);
|
||||
hint:[];
|
||||
|
@ -807,7 +807,7 @@ end;
|
|||
const
|
||||
vbroadcastf128_desc:t_op_desc=(
|
||||
mem_reg:(opt:[not_impl]);
|
||||
reg_mem:(op:$1A;simdop:1;mm:2;opt:[not_vex_len]);
|
||||
reg_mem:(op:$1A;simdop:1;mm:2);
|
||||
reg_imm:(opt:[not_impl]);
|
||||
reg_im8:(opt:[not_impl]);
|
||||
hint:[his_wo];
|
||||
|
@ -817,6 +817,8 @@ procedure op_vbroadcastf128(var ctx:t_jit_context2);
|
|||
begin
|
||||
if is_memory(ctx.din) then
|
||||
begin
|
||||
//Vex.VectorLength = os256
|
||||
ctx.din.Operand[2].Size:=os256;
|
||||
op_emit_avx2(ctx,vbroadcastf128_desc);
|
||||
end else
|
||||
begin
|
||||
|
|
|
@ -176,7 +176,7 @@ var
|
|||
i:Byte;
|
||||
begin
|
||||
Result:=0;
|
||||
For i:=0 to 7 do
|
||||
For i:=1 to 7 do
|
||||
begin
|
||||
if RT_ENABLE(i) then
|
||||
begin
|
||||
|
@ -902,8 +902,7 @@ begin
|
|||
end else
|
||||
begin
|
||||
Result.IMAGE_USAGE:=TM_READ or TM_WRITE;
|
||||
end; Result.FImageView.cformat :=Result.FImageInfo.cformat;
|
||||
Result.FImageView.vtype :=ord(VK_IMAGE_VIEW_TYPE_2D);
|
||||
end;
|
||||
|
||||
//if (Result.blend.blendEnable<>0) then
|
||||
//begin
|
||||
|
|
Loading…
Reference in New Issue