OSDN Git Service

[x86] Flesh out the custom ISel for RMW aritmetic ops with used flags to
authorChandler Carruth <chandlerc@gmail.com>
Fri, 8 Sep 2017 00:17:12 +0000 (00:17 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Fri, 8 Sep 2017 00:17:12 +0000 (00:17 +0000)
commit575526c0828d6085078d6d6b65affd458759c12e
tree4e5e040bfa30d1447c677f3eb46626793873fdcc
parent7480eb99335367ef6fe535e9c0dcb0289ec894f2
[x86] Flesh out the custom ISel for RMW aritmetic ops with used flags to
cover the bitwise operators.

Nothing really exciting here, this just stamps out the rest of the core
operations that can RMW memory and set flags.

Still not implemented here: ADC, SBB. Those will require more
interesting logic to channel the flags *in*, and I'm not currently
planning to try to tackle that. It might be interesting for someone who
wants to improve our code generation for bignum implementations.

Differential Revision: https://reviews.llvm.org/D37141

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312768 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelDAGToDAG.cpp
test/CodeGen/X86/fold-rmw-ops.ll