-
Pierre Langlois authored
This patch is a first step towards target independent tests for the CodeGenerator's AssembleMove and AssembleSwap methods. The tests on top of which this builds would only make sure that no assertions were triggered while generating moves, and that the hardware is happy executing them. We want to do more and check that the generated code performs correctly. In a nutshell, this introduces a facility that can do the following: - Setup an environment with registers and stack slots initialised with random values. - Perform a list of randomly generated moves and/or swaps on those. - Return the resulting environment. This is a first step and therefore is lacking a few things which will be implemented as follow-ups: - Support for kSimd128 moves and swaps. - Support large offsets for stack moves, as well as positive and negative. - Compare the resulting environment against the result of a reference simulation. For more background information, see this design document: https://docs.google.com/document/d/1KpioxCmtiB_9RaPaRidZPVtKlZ2BaNKGPYUjKFihhK0 Bug: v8:6848 Change-Id: Ie7dc837f4444df010ab58c64b722d40ee5d2af72 Reviewed-on: https://chromium-review.googlesource.com/677398Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#48459}
dabd1c0a