summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/thread/main.cpp
diff options
context:
space:
mode:
authorSimon Tatham <simon.tatham@arm.com>2019-11-15 14:05:02 +0000
committerSimon Tatham <simon.tatham@arm.com>2019-11-15 14:06:00 +0000
commitb0c1900820c3f0a94e3c74e6dcb1317b9cda5af8 (patch)
treeb2858f1256172ef1a22c678bc88128e9b0665c77 /lldb/packages/Python/lldbsuite/test/python_api/thread/main.cpp
parentc2f6efc732efa3921e34e24361d58e51d25460b1 (diff)
downloadbcm5719-llvm-b0c1900820c3f0a94e3c74e6dcb1317b9cda5af8.tar.gz
bcm5719-llvm-b0c1900820c3f0a94e3c74e6dcb1317b9cda5af8.zip
[ARM,MVE] Add reversed isel patterns for MVE `vcmp qN,rN`
Summary: As well as vector/vector compare instructions, MVE also has a family of comparisons taking a vector and a scalar, which compare every lane of the vector against the same value. We generate those at isel time using isel patterns that match `(ARMvcmp vector, (ARMvdup scalar))`. This commit adds corresponding patterns for the operand-reversed form `(ARMvcmp (ARMvdup scalar), vector)`, with condition codes swapped as necessary. That way, we can still generate the vector/scalar compare instruction if the IR happens to have been rearranged to put the operands the other way round, which can happen in some optimization phases. Previously, a vcmp the other way round was handled by emitting a `vdup` instruction to //explicitly// replicate the scalar input into a vector, and then doing a vector/vector comparison. I haven't added a new test, because it turned out that several existing tests were already exhibiting that failure mode. So just updating the expected output in the existing MVE codegen tests demonstrates what's been improved. Reviewers: ostannard, MarkMurrayARM, dmgreen Reviewed By: dmgreen Subscribers: kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70296
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/thread/main.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud