|
@@ -1315,9 +1315,11 @@ implementation
|
|
|
case tfloatdef(left.resultdef).floattype of
|
|
|
s32real:
|
|
|
begin
|
|
|
+{$ifndef i8086}
|
|
|
if UseAVX512 and (FPUX86_HAS_AVX512DQ in fpu_capabilities[current_settings.fputype]) then
|
|
|
current_asmdata.CurrAsmList.concat(taicpu.op_const_reg_reg_reg(A_VREDUCESS,S_NO,3,left.location.register,left.location.register,location.register))
|
|
|
else
|
|
|
+{$endif not i8086}
|
|
|
begin
|
|
|
{ using left.location.register here as 3rd parameter is crucial to break dependency chains }
|
|
|
current_asmdata.CurrAsmList.concat(taicpu.op_const_reg_reg_reg(A_VROUNDSS,S_NO,3,left.location.register,left.location.register,location.register));
|
|
@@ -1326,9 +1328,11 @@ implementation
|
|
|
end;
|
|
|
s64real:
|
|
|
begin
|
|
|
+{$ifndef i8086}
|
|
|
if UseAVX512 and (FPUX86_HAS_AVX512DQ in fpu_capabilities[current_settings.fputype]) then
|
|
|
current_asmdata.CurrAsmList.concat(taicpu.op_const_reg_reg_reg(A_VREDUCESD,S_NO,3,left.location.register,left.location.register,location.register))
|
|
|
else
|
|
|
+{$endif not i8086}
|
|
|
begin
|
|
|
{ using left.location.register here as 3rd parameter is crucial to break dependency chains }
|
|
|
current_asmdata.CurrAsmList.concat(taicpu.op_const_reg_reg_reg(A_VROUNDSD,S_NO,3,left.location.register,left.location.register,location.register));
|