[all-commits] [llvm/llvm-project] edce93: [X86] Lower abdu(lhs, rhs) -> or(usubsat(lhs, rhs), ...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Tue May 2 11:54:36 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: edce93c9d8ddcd65740d22851db9209ff5ec066e
https://github.com/llvm/llvm-project/commit/edce93c9d8ddcd65740d22851db9209ff5ec066e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-05-02 (Tue, 02 May 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/abdu-vector-128.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
Log Message:
-----------
[X86] Lower abdu(lhs, rhs) -> or(usubsat(lhs,rhs), usubsat(rhs,lhs))
Adds pre-SSE4 v8i16 abdu handling - we already have something similar for umax(x,y) -> add(x,usubsat(y,x)) / umin(x,y) -> sub(x,usubsat(x,y))
(I'm starting to look at adding generic TargetLowering expandABD() handling and came across this missed opportunity).
Inspiration: http://0x80.pl/notesen/2018-03-11-sse-abs-unsigned.html
Alive2: https://alive2.llvm.org/ce/z/gMhaTa
More information about the All-commits
mailing list