This lowers a sadd_sat to a qadd by treating it as legal. Also adds qsub at the same time.
The qadd instruction sets the q flag, but we already have many cases where we do not model this explicitly.
Paths
| Differential D68976
[ARM] Add qadd lowering from a sadd_sat ClosedPublic Authored by dmgreen on Oct 15 2019, 2:40 AM.
Details Summary This lowers a sadd_sat to a qadd by treating it as legal. Also adds qsub at the same time. The qadd instruction sets the q flag, but we already have many cases where we do not model this explicitly.
Diff Detail Event Timeline
dmgreen added inline comments. Closed by commit rGd7b77f2203dd: [ARM] Add qadd lowering from a sadd_sat (authored by dmgreen). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 225074 llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/lib/Target/ARM/ARMInstrInfo.td
llvm/lib/Target/ARM/ARMInstrThumb2.td
llvm/lib/Target/ARM/ARMSubtarget.h
llvm/test/CodeGen/ARM/qdadd.ll
llvm/test/CodeGen/ARM/sadd_sat.ll
llvm/test/CodeGen/ARM/sadd_sat_plus.ll
llvm/test/CodeGen/ARM/ssub_sat.ll
llvm/test/CodeGen/ARM/ssub_sat_plus.ll
|
I think these should be V5TE patterns.