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
|