History log of /external/vixl/src/aarch32/label-aarch32.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9a9331faeba996d6c85e6e2a6355ccfc22c6cab6 09-Dec-2016 Rodolph Perfetta <rodolph.perfetta@arm.com> Allow conditional inclusion of A32, T32 and A64.

The 'target_arch' option has been replace by 'target' which can be any
combination of aarch32, aarch64, a32, t32, a64.

Change-Id: Id5cd052276747cd718551f562b74f79443b91869
/external/vixl/src/aarch32/label-aarch32.h
2272afbda5f15c4bfb25c3c9bf95d960c9df39d6 04-Jan-2017 Vincent Belliard <vincent.belliard@arm.com> Fix for veneer pool when using near branches and cbz.

Change-Id: Ifc9cf13b07d6b5504f3fe4d4d45597cc05e069aa
/external/vixl/src/aarch32/label-aarch32.h
cf91ee6bcaabf00356516bbc2d478acbeb8bed9a 13-Dec-2016 Georgia Kouveli <georgia.kouveli@arm.com> Make rewinding of load literal instructions less conservative.

Change-Id: I2f1b7dce445ceff1edb1f93608b693737be1bc51
/external/vixl/src/aarch32/label-aarch32.h
15985a2fcc72ce0ec5e19c410b444ceec899c11f 28-Nov-2016 Vincent Belliard <vincent.belliard@arm.com> Fix veneer pool generation when several cbz/cbnz are generated one after the other and when several veneers have the same checkpoint.

Change-Id: Ic2d7f348854666f07c191aadc43f299b422867c5
/external/vixl/src/aarch32/label-aarch32.h
b323da089731b39a34ad0a77d20f0a96c1c1a1bc 02-Dec-2016 Vincent Belliard <vincent.belliard@arm.com> Ensure that all used labels are bound.

Change-Id: I95c1a9c2d91c91303ac10898ca556e6e798403e5
/external/vixl/src/aarch32/label-aarch32.h
8d191abf32edf41421f68f35585e4fce8da4d50c 29-Nov-2016 Alexandre Rames <alexandre.rames@linaro.org> AArch32: Use the shared scopes `CodeBufferCheckScope` and `EmissionCheckScope`.

This patch continues toward the goal of unifying code-generation scopes for all
backends.

The new scopes differ from the existing AArch32 mechanisms, so a few tests for
literal and veneer pools needed to be updated.

The patch also adds AArch32 tests for the new scopes.

Change-Id: Ia6a93e6e860b47e703b6c9034fefa405810c18a0
/external/vixl/src/aarch32/label-aarch32.h
40b7e470e71b158158ef6ce8a1a3f701857ce0e2 09-Nov-2016 Vincent Belliard <vincent.belliard@arm.com> Fix PerformEnsureEmit for literals.

Change-Id: Iab0cb33eb59a69a90a00754263c7210b16ad2044
/external/vixl/src/aarch32/label-aarch32.h
7827144797ee5ebfa0b574f45ad8ff235f919304 08-Nov-2016 Vincent Belliard <vincent.belliard@arm.com> Allow a label which is in the veneer pool to be bound with 'bind'.

Change-Id: I1e0d03498ec86ed23d94ef1db2d2adc5b73ef984
/external/vixl/src/aarch32/label-aarch32.h
f8833fa525b25cb1d72beb4f2d033d5ad9a3eb80 09-Nov-2016 Vincent Belliard <vincent.belliard@arm.com> Allow Cbz/Cbnz to branch immediately after the instruction.

Change-Id: I7ad6bbc84d69bc7ac3b61999fd77823b6ea552a2
/external/vixl/src/aarch32/label-aarch32.h
f5348cedd702124c90fc75e75d0195e2e485c620 22-Sep-2016 Pierre Langlois <pierre.langlois@arm.com> Remove implicit 64 to 32 bit narrowing

This patch fixes cases of implicit 64 to 32 bit narrowing. The issue is
that `CodeBuffer` represents code offsets with `ptrdiff_t`, which will
be 64 bit on a 64 bit system. However, we want to support generating 32
bit code from a 64 bit program, therefore the 32 bit part of VIXL works
with `int32_t` for code offsets. We had implicit conversions happening
due to this.

We solve this by explicitely casting to `int32_t` in the AArch32
assembler when calling `GetCursorOffset`. If you are working with the
`CodeBuffer` directly, you are dealing with a code buffer on the host
and so will work with offsets as `ptrdiff_t`. But, when working with the
AArch32 assembler itself you will get offsets as `int32_t`. The
assembler is in charge of checking that the offsets it gets from the
code buffer fit into `int32_t`.

Additionally, we had narrowing cases when generally wrapping host
pointers into an Operand. This can only work if the pointer fits into 32
bits. This patch introduces a Operand::From() factory method that can be
used for converting any integral or pointer type to an immediate
operand.

Change-Id: Icc15711b34c2477ed997eef238e25496d86ea9aa
/external/vixl/src/aarch32/label-aarch32.h
74e3ecd9dc3ecf92604e37c4ec9b9ced5048dedf 21-Sep-2016 Vincent Belliard <vincent.belliard@arm.com> AArch32: Add a `GetPcOffset()` helper to the `Label` class.

Change-Id: I58b7a18eed1565ddf9a38d4570af0c24fc79c431
/external/vixl/src/aarch32/label-aarch32.h
bf01e787b9ca4ff28b8c4d4355fd575c4ac81dfa 14-Sep-2016 Anton Kirilov <anton.kirilov@linaro.org> Add some missing header file inclusions.

Change-Id: I8f7497ea6921b655e9996ab7843793f12b27eeed
/external/vixl/src/aarch32/label-aarch32.h
2715e0b0654dc266f0224a68e04c30aa04a82aef 15-Sep-2016 Scott Wakeling <scott.wakeling@linaro.org> Add IsReferenced() to AArch32 Label.

Change-Id: I3dcf521f5d1cfa3c3c0be783fc40e023b982456f
/external/vixl/src/aarch32/label-aarch32.h
c591f74ae6d6a8fefaacedcfa5c23100cb23c23d 19-Aug-2016 Pierre Langlois <pierre.langlois@arm.com> Introduce a custom Disassembler stream

This patch introduces a DisassemblerStream type that the user may
override to customize how elements (Register, Condition, Label, ...etc)
are printed. Some of those such as Labels need to be aware of the
context in which they are being used.

Change-Id: I7f2447d30738bf20a65ffe65623dc7c44b012fc7
/external/vixl/src/aarch32/label-aarch32.h
78973f258039f6e96eba85f1b5ecdb14b3c51dbb 10-Aug-2016 Pierre Langlois <pierre.langlois@arm.com> Correctly include C headers

This patch refactors VIXL to use `extern` block when including C header
that do not have a C++ counterpart.

Change-Id: I203d7d107755dbac3e5f4cf8d2f196f70dea1e07
/external/vixl/src/aarch32/label-aarch32.h
10dae1a549308bddc1931f29754d6a4459f70c9b 27-Jul-2016 Jacob Bramley <jacob.bramley@arm.com> AArch32: Improve the API for selecting the ISA.

Specifically, replace SetT32(false) with SetA32(), and SetT32(true) with
SetT32(). This also adds a parameterised SetInstructionSet(...) helper, and
allows the instruction set to be set in the constructors.

Change-Id: I82609823a4b2af908b38c0a4240ff239561f7507
/external/vixl/src/aarch32/label-aarch32.h
d3832965c62a8ad461b9ea9eb0994ca6b0a3da2c 04-Jul-2016 Alexandre Rames <alexandre.rames@linaro.org> Update naming to `aarch32` and `aarch64`.

Change-Id: I40a929b1095ee3e1b2ca5ef879c7006d8b59acc9
/external/vixl/src/aarch32/label-aarch32.h