[llvm] r287991 - [X86] Remove alignment restrictions from load folding table for some instructions that don't have a restriction.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Sat Nov 26 17:52:51 PST 2016
Author: ctopper
Date: Sat Nov 26 19:52:51 2016
New Revision: 287991
URL: http://llvm.org/viewvc/llvm-project?rev=287991&view=rev
Log:
[X86] Remove alignment restrictions from load folding table for some instructions that don't have a restriction.
Most of these are the SSE4.1 PMOVZX/PMOVSX instructions which all read less than 128-bits. The only other was PMOVUPD which by definition is an unaligned load.
Modified:
llvm/trunk/lib/Target/X86/X86InstrInfo.cpp
Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.cpp?rev=287991&r1=287990&r2=287991&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrInfo.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86InstrInfo.cpp Sat Nov 26 19:52:51 2016
@@ -552,7 +552,7 @@ X86InstrInfo::X86InstrInfo(X86Subtarget
{ X86::MOVSX64rr16, X86::MOVSX64rm16, 0 },
{ X86::MOVSX64rr32, X86::MOVSX64rm32, 0 },
{ X86::MOVSX64rr8, X86::MOVSX64rm8, 0 },
- { X86::MOVUPDrr, X86::MOVUPDrm, TB_ALIGN_16 },
+ { X86::MOVUPDrr, X86::MOVUPDrm, 0 },
{ X86::MOVUPSrr, X86::MOVUPSrm, 0 },
{ X86::MOVZPQILo2PQIrr, X86::MOVQI2PQIrm, TB_NO_REVERSE },
{ X86::MOVZX16rr8, X86::MOVZX16rm8, 0 },
@@ -567,18 +567,18 @@ X86InstrInfo::X86InstrInfo(X86Subtarget
{ X86::PCMPISTRIrr, X86::PCMPISTRIrm, TB_ALIGN_16 },
{ X86::PCMPISTRM128rr, X86::PCMPISTRM128rm, TB_ALIGN_16 },
{ X86::PHMINPOSUWrr128, X86::PHMINPOSUWrm128, TB_ALIGN_16 },
- { X86::PMOVSXBDrr, X86::PMOVSXBDrm, TB_ALIGN_16 },
- { X86::PMOVSXBQrr, X86::PMOVSXBQrm, TB_ALIGN_16 },
- { X86::PMOVSXBWrr, X86::PMOVSXBWrm, TB_ALIGN_16 },
- { X86::PMOVSXDQrr, X86::PMOVSXDQrm, TB_ALIGN_16 },
- { X86::PMOVSXWDrr, X86::PMOVSXWDrm, TB_ALIGN_16 },
- { X86::PMOVSXWQrr, X86::PMOVSXWQrm, TB_ALIGN_16 },
- { X86::PMOVZXBDrr, X86::PMOVZXBDrm, TB_ALIGN_16 },
- { X86::PMOVZXBQrr, X86::PMOVZXBQrm, TB_ALIGN_16 },
- { X86::PMOVZXBWrr, X86::PMOVZXBWrm, TB_ALIGN_16 },
- { X86::PMOVZXDQrr, X86::PMOVZXDQrm, TB_ALIGN_16 },
- { X86::PMOVZXWDrr, X86::PMOVZXWDrm, TB_ALIGN_16 },
- { X86::PMOVZXWQrr, X86::PMOVZXWQrm, TB_ALIGN_16 },
+ { X86::PMOVSXBDrr, X86::PMOVSXBDrm, 0 },
+ { X86::PMOVSXBQrr, X86::PMOVSXBQrm, 0 },
+ { X86::PMOVSXBWrr, X86::PMOVSXBWrm, 0 },
+ { X86::PMOVSXDQrr, X86::PMOVSXDQrm, 0 },
+ { X86::PMOVSXWDrr, X86::PMOVSXWDrm, 0 },
+ { X86::PMOVSXWQrr, X86::PMOVSXWQrm, 0 },
+ { X86::PMOVZXBDrr, X86::PMOVZXBDrm, 0 },
+ { X86::PMOVZXBQrr, X86::PMOVZXBQrm, 0 },
+ { X86::PMOVZXBWrr, X86::PMOVZXBWrm, 0 },
+ { X86::PMOVZXDQrr, X86::PMOVZXDQrm, 0 },
+ { X86::PMOVZXWDrr, X86::PMOVZXWDrm, 0 },
+ { X86::PMOVZXWQrr, X86::PMOVZXWQrm, 0 },
{ X86::PSHUFDri, X86::PSHUFDmi, TB_ALIGN_16 },
{ X86::PSHUFHWri, X86::PSHUFHWmi, TB_ALIGN_16 },
{ X86::PSHUFLWri, X86::PSHUFLWmi, TB_ALIGN_16 },
More information about the llvm-commits
mailing list