[PATCH] D21235: [x86, SSE] change patterns for CMPP to float types to allow matching with SSE1 (PR28044)
Sanjay Patel via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 10 11:57:13 PDT 2016
spatel created this revision.
spatel added reviewers: ab, RKSimon, craig.topper.
spatel added a subscriber: llvm-commits.
Herald added a subscriber: mcrosier.
This patch is intended to solve:
https://llvm.org/bugs/show_bug.cgi?id=28044
By changing the definition of X86ISD::CMPP to use float types, we allow it to be created and pass legalization for an SSE1-only target where v4i32 is not legal.
The motivational trail for this change includes:
https://llvm.org/bugs/show_bug.cgi?id=28001
and eventually makes this trigger:
http://reviews.llvm.org/D21190
Ie, after this step, we should be free to have Clang generate FP compare IR instead of x86 intrinsics for SSE C packed compare intrinsics. (We can auto-upgrade and remove the LLVM sse.cmp intrinsics as a follow-up step.) Once we're generating vector IR instead of x86 intrinsics, a big pile of generic optimizations can trigger.
http://reviews.llvm.org/D21235
Files:
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86InstrFragmentsSIMD.td
lib/Target/X86/X86InstrSSE.td
test/CodeGen/X86/sse1.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21235.60380.patch
Type: text/x-patch
Size: 8934 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160610/7f56ae29/attachment.bin>
More information about the llvm-commits
mailing list