[PATCH] D43014: [X86][SSE] Enable SMIN/SMAX/UMIN/UMAX custom lowering for all legal types
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 7 04:30:55 PST 2018
RKSimon created this revision.
RKSimon added reviewers: craig.topper, efriedma, spatel, andreadb.
This allows us to recognise more saturation patterns and also simplify some MINMAX codegen that was failing to simplify CMPGE comparisons to a legal CMPGT.
An alternative would be to allow SelectionDAGBuilder to always create MINMAX ops and improve the legalizers vector support - is an all-target solution something we'd want?
Repository:
rL LLVM
https://reviews.llvm.org/D43014
Files:
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/horizontal-reduce-smax.ll
test/CodeGen/X86/horizontal-reduce-smin.ll
test/CodeGen/X86/horizontal-reduce-umax.ll
test/CodeGen/X86/horizontal-reduce-umin.ll
test/CodeGen/X86/i64-to-float.ll
test/CodeGen/X86/psubus.ll
test/CodeGen/X86/vec_minmax_sint.ll
test/CodeGen/X86/vec_minmax_uint.ll
test/CodeGen/X86/vector-trunc-packus.ll
test/CodeGen/X86/vector-trunc-ssat.ll
test/CodeGen/X86/vector-trunc-usat.ll
test/CodeGen/X86/vselect-minmax.ll
More information about the llvm-commits
mailing list