|
@@ -663,6 +663,116 @@ begin
|
|
FOpCodeList.Add('VPSRLVD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
FOpCodeList.Add('VPSRLVD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
FOpCodeList.Add('VPSRLVQ,1,1,YMMREG,YMMREG,YMMRM,');
|
|
FOpCodeList.Add('VPSRLVQ,1,1,YMMREG,YMMREG,YMMRM,');
|
|
FOpCodeList.Add('VPSRLVQ,1,1,XMMREG,XMMREG,XMMRM,');
|
|
FOpCodeList.Add('VPSRLVQ,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ FOpCodeList.Add('VFMADD132PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD132PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD213PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD213PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD132PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD132PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD132PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD132PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD213PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD213PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD132PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD132PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD132PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD132PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD213PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD213PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD231PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD231PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD132PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD132PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD213PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD213PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD231PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD231PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD132SD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD213SD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD231SD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD132SS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD213SS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADD231SS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADDSUB132PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADDSUB132PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADDSUB213PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADDSUB213PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADDSUB231PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADDSUB231PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADDSUB132PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADDSUB132PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADDSUB213PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADDSUB213PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADDSUB231PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMADDSUB231PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUBADD132PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUBADD132PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUBADD213PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUBADD213PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUBADD231PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUBADD231PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUBADD132PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUBADD132PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUBADD213PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUBADD213PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUBADD231PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUBADD231PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB132PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB132PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB213PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB213PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB231PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB231PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB132PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB132PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB213PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB213PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB231PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB231PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB132SD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB213SD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB231SD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB132SS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB213SS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFMSUB231SS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD132PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD132PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD213PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD213PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD231PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD231PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD132PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD132PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD213PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD213PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD231PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD231PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD132SD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD213SD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD231SD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD132SS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD213SS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMADD231SS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB132PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB132PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB213PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB213PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB231PD,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB231PD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB132PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB132PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB213PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB213PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB231PS,1,1,YMMREG,YMMREG,YMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB231PS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB132SD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB213SD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB231SD,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB132SS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB213SS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
|
|
+ FOpCodeList.Add('VFNMSUB231SS,1,1,XMMREG,XMMREG,XMMRM,');
|
|
end;
|
|
end;
|
|
|
|
|
|
function TAVXTestGenerator.InternalMakeTestFiles(aX64: boolean; aDestPath, aFileExt: String;
|
|
function TAVXTestGenerator.InternalMakeTestFiles(aX64: boolean; aDestPath, aFileExt: String;
|
|
@@ -720,7 +830,7 @@ begin
|
|
LastOpCode := NewOpCode;
|
|
LastOpCode := NewOpCode;
|
|
end
|
|
end
|
|
else LastOpCode := NewOpCode;
|
|
else LastOpCode := NewOpCode;
|
|
- end;
|
|
|
|
|
|
+ end;
|
|
|
|
|
|
if (not(aX64) and (sl[1] = '1')) or // i386
|
|
if (not(aX64) and (sl[1] = '1')) or // i386
|
|
(aX64 and (sl[2] = '1')) then // x86_64
|
|
(aX64 and (sl[2] = '1')) then // x86_64
|
|
@@ -759,7 +869,7 @@ var
|
|
FileExt: String;
|
|
FileExt: String;
|
|
i: integer;
|
|
i: integer;
|
|
const
|
|
const
|
|
- cPlatform: array[boolean] of String = (('i386'), ('x86_64'));
|
|
|
|
|
|
+ cPlatform: array[boolean] of String = (('i386'), ('x86_64'));
|
|
begin
|
|
begin
|
|
result := false;
|
|
result := false;
|
|
|
|
|