]> granicus.if.org Git - llvm/commit
[AArch64] Turn BIC immediate creation into a DAG combine
authorNikita Popov <nikita.ppv@gmail.com>
Fri, 15 Mar 2019 21:04:34 +0000 (21:04 +0000)
committerNikita Popov <nikita.ppv@gmail.com>
Fri, 15 Mar 2019 21:04:34 +0000 (21:04 +0000)
commit6185a3e03ca664754cc26cee1fe128c85d6fb04f
treeb0370b50ed7941aede0d60258893fca51c51cd88
parent4a413d30ec3e791a032c299cd84756435d56022f
[AArch64] Turn BIC immediate creation into a DAG combine

Switch BIC immediate creation for vector ANDs from custom lowering
to a DAG combine, which gives generic DAG combines a change to
apply first. In particular this avoids (and x, -1) being turned into
a (bic x, 0) instead of being eliminated entirely.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356299 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64ISelLowering.cpp
lib/Target/AArch64/AArch64ISelLowering.h
test/CodeGen/AArch64/sadd_sat.ll
test/CodeGen/AArch64/sadd_sat_vec.ll
test/CodeGen/AArch64/sat-add.ll
test/CodeGen/AArch64/ssub_sat.ll
test/CodeGen/AArch64/ssub_sat_vec.ll
test/CodeGen/AArch64/uadd_sat_vec.ll