mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-01 13:29:32 +01:00
+ call TX86AsmOptimizer.OptPass1VOP for logical operations as well
git-svn-id: trunk@37367 -
This commit is contained in:
parent
2f7489f8c8
commit
15b617546e
@ -1171,7 +1171,13 @@ begin
|
|||||||
A_VMULSD,
|
A_VMULSD,
|
||||||
A_VMULSS,
|
A_VMULSS,
|
||||||
A_VADDSD,
|
A_VADDSD,
|
||||||
A_VADDSS:
|
A_VADDSS,
|
||||||
|
A_VANDPD,
|
||||||
|
A_VANDPS,
|
||||||
|
A_VORPD,
|
||||||
|
A_VORPS,
|
||||||
|
A_VXORPD,
|
||||||
|
A_VXORPS:
|
||||||
if OptPass1VOP(p) then
|
if OptPass1VOP(p) then
|
||||||
continue;
|
continue;
|
||||||
A_MULSD,
|
A_MULSD,
|
||||||
|
|||||||
@ -1077,7 +1077,7 @@ unit aoptx86;
|
|||||||
?
|
?
|
||||||
}
|
}
|
||||||
if GetNextInstruction(p,hp1) and
|
if GetNextInstruction(p,hp1) and
|
||||||
{ we mix single and double opperations here because we assume that the compiler
|
{ we mix single and double operations here because we assume that the compiler
|
||||||
generates vmovapd only after double operations and vmovaps only after single operations }
|
generates vmovapd only after double operations and vmovaps only after single operations }
|
||||||
MatchInstruction(hp1,A_VMOVAPD,A_VMOVAPS,[S_NO]) and
|
MatchInstruction(hp1,A_VMOVAPD,A_VMOVAPS,[S_NO]) and
|
||||||
MatchOperand(taicpu(p).oper[2]^,taicpu(hp1).oper[0]^) and
|
MatchOperand(taicpu(p).oper[2]^,taicpu(hp1).oper[0]^) and
|
||||||
|
|||||||
@ -85,7 +85,13 @@ uses
|
|||||||
A_VMULSD,
|
A_VMULSD,
|
||||||
A_VMULSS,
|
A_VMULSS,
|
||||||
A_VADDSD,
|
A_VADDSD,
|
||||||
A_VADDSS:
|
A_VADDSS,
|
||||||
|
A_VANDPD,
|
||||||
|
A_VANDPS,
|
||||||
|
A_VORPD,
|
||||||
|
A_VORPS,
|
||||||
|
A_VXORPD,
|
||||||
|
A_VXORPS:
|
||||||
result:=OptPass1VOP(p);
|
result:=OptPass1VOP(p);
|
||||||
A_MULSD,
|
A_MULSD,
|
||||||
A_MULSS,
|
A_MULSS,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user