[all-commits] [llvm/llvm-project] e7a184: [X86] Use movlps for i64 atomic stores on 32-targe...
topperc via All-commits
all-commits at lists.llvm.org
Sat Feb 22 19:49:18 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: e7a184fc7c044b883ab782fa05e56f873050bd72
https://github.com/llvm/llvm-project/commit/e7a184fc7c044b883ab782fa05e56f873050bd72
Author: Craig Topper <craig.topper at gmail.com>
Date: 2020-02-22 (Sat, 22 Feb 2020)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/atomic-fp.ll
M llvm/test/CodeGen/X86/atomic-non-integer.ll
Log Message:
-----------
[X86] Use movlps for i64 atomic stores on 32-targets with sse1.
This is similar to using movd which we do for sse2 targets.
I've added a DAG combine for VEXTRACT_STORE to use SimplifyDemandedVectorElts
to clean up some artifacts from type legalization.
Commit: bdb1729c8347c2b7d932976f8588e524b4f7b8d5
https://github.com/llvm/llvm-project/commit/bdb1729c8347c2b7d932976f8588e524b4f7b8d5
Author: Craig Topper <craig.topper at gmail.com>
Date: 2020-02-22 (Sat, 22 Feb 2020)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/atomic-fp.ll
M llvm/test/CodeGen/X86/atomic-non-integer.ll
M llvm/test/CodeGen/X86/merge-consecutive-loads-128.ll
Log Message:
-----------
[X86] Teach EltsFromConsecutiveLoads that it's ok to form a v4f32 VZEXT_LOAD with a 64 bit memory size on SSE1 targets.
We can use MOVLPS which will load 64 bits, but we need a v4f32
result type. We already have isel patterns for this.
The code here is a little hacky. We can probably improve it with
more isel patterns.
Compare: https://github.com/llvm/llvm-project/compare/1df947ab403a...bdb1729c8347
More information about the All-commits
mailing list