This is an archive of the discontinued LLVM Phabricator instance.

[Hexagon] Add support for ISD::SMAX/SMIN/UMAX/UMIN instead of custom dag patterns
ClosedPublic

Authored by RKSimon on Nov 25 2020, 9:50 AM.

Details

Summary

This should handle the basic integer min/max handling, I may have missed something wrt Hexagon type legalization semantics (for instance it sets add/sub etc to be legal for v4i8/v2i16 types but I couldn't get it to work for min/max).

I haven't been able to get the HVX equivalents to work either - any tips would appreciated.

This is some necessary cleanup work for min/max ops to eventually help us move the add/sub sat patterns into DAGCombine - D91876.

Diff Detail