AArch64: Fix cmp;ccmp ordering
authorMatthias Braun <matze@braunis.de>
Thu, 20 Aug 2015 23:33:34 +0000 (23:33 +0000)
committerMatthias Braun <matze@braunis.de>
Thu, 20 Aug 2015 23:33:34 +0000 (23:33 +0000)
commit57970eb1a05646c72475881b94db9ff39a34498b
treee36f3a8bbbbabf89d5c2e45df12bf9aaa2929794
parent05b3080b3c02aad92a370cb066cc8043bbb7f869
AArch64: Fix cmp;ccmp ordering

When producing conditional compare sequences for or operations we need
to negate the operands and the finally tested flags. The thing is if we negate
the finally tested flags this equals a logical negation of all previously
emitted expressions. There was a case missing where we have to order OR
expressions so they get emitted first.

This fixes http://llvm.org/PR24459

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245641 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64ISelLowering.cpp
test/CodeGen/AArch64/arm64-ccmp.ll