2da09a48dc4d5a3c585f897f256c2c6c5fa4eb5a |
|
11-Apr-2017 |
Artem Serov <artem.serov@linaro.org> |
Fix release of a QRegisters within a ScratchRegisterScope. Test: ./tools/test.py Change-Id: I11107d3a7c19eaf31a1dd8ad512c67d4600b7930
/external/vixl/src/aarch64/macro-assembler-aarch64.cc
|
e8ce9f0ec7fe9484fca0c446ecc8a9d7929bea66 |
|
14-Dec-2016 |
Jacob Bramley <jacob.bramley@arm.com> |
Assert perfect nesting for UseScratchRegisterScope. Since UseScratchRegisterScope now has a MacroAssembler pointer anyway, this patch also removes available_ and availablefp_, and uses the MacroAssembler directly. Some negative tests would be useful but I'll add them separately. Change-Id: Ia093c67a980044f8e1514cff81998fd9dbfaa44e
/external/vixl/src/aarch64/macro-assembler-aarch64.cc
|
07d1aa5b941ace15deb01e5df2c79e677039c4ae |
|
25-Oct-2016 |
Alexandre Rames <alexandre.rames@linaro.org> |
AArch64: follow the design guidelines for `ExactAssemblyScope`. Change-Id: I5b942e033681c69f5e6cac3a669b3b3ebacbf1f8
/external/vixl/src/aarch64/macro-assembler-aarch64.cc
|
c0b25f28106fbbbf8880e0b259de1a639ea1e73f |
|
19-Oct-2016 |
Alexandre Rames <alexandre.rames@linaro.org> |
Follow the design guidelines for the AArch64 `EmissionCheckScope`. It uses a newly defined `MacroAssemblerInterface` class. Change-Id: I10ba663ec047d1ea320610bc2d5565de24d9686b
/external/vixl/src/aarch64/macro-assembler-aarch64.cc
|
9dd6fa37dbb79f62177aebd04d7e945ce1dc3108 |
|
12-Oct-2016 |
Alexandre Rames <alexandre.rames@linaro.org> |
Follow the design guidelines for the AArch64 `CodeBufferCheckScope`. The implementation of the scopes relies only on the `AssemblerBase` interface. The AArch32 scopes will be updated in a separate commit. Change-Id: Ibe0eab35f60da39fe0bcbd60a16bdc65b12e0dd5
/external/vixl/src/aarch64/macro-assembler-aarch64.cc
|
6a049f97861bd71c69d81f643e42308d28c5de31 |
|
21-Sep-2016 |
Alexandre Rames <alexandre.rames@linaro.org> |
Unify the `Assembler` helpers related to the code buffer. A few helpers in `Assembler` classes that were simply wrappers around `CodeBuffer` methods have been deprecated, and should be replaced by calls to the `CodeBuffer` methods. Change-Id: I72608c8c1f1f2823c58c8f6de042e932abe12629
/external/vixl/src/aarch64/macro-assembler-aarch64.cc
|
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/aarch64/macro-assembler-aarch64.cc
|
b49bdb7996e603555eba4c8b56c7325e3e737ab6 |
|
26-Sep-2016 |
Alexandre Rames <alexandre.rames@linaro.org> |
Improve include directives in `src/aarch64`. Some `aarch64` files had include directives such as: #include "globals-vixl.h" #include "aarch64/other-aarch64.h" This required users of VIXL to compile with `-I<path/to/vixl/src>`. Change-Id: Ie0d1d39d1d8eb4a0e6b4b96af95a352b16043003
/external/vixl/src/aarch64/macro-assembler-aarch64.cc
|
1c78c34397f2c08c012733cc661076e8bd029eab |
|
16-Sep-2016 |
Alexandre Rames <alexandre.rames@linaro.org> |
AArch64: Do not bypass optimisations in `Mov` for registers. Change-Id: I060e7518cf7e3bca5b531b714683a64f73ea8ba0
/external/vixl/src/aarch64/macro-assembler-aarch64.cc
|
1e85b7f2e8ad2bfb233de29405aade635ed207ce |
|
05-Aug-2016 |
Pierre Langlois <pierre.langlois@arm.com> |
Introduce architecture specific guards for the simulator This patch makes the VIXL_INCLUDE_SIMULATOR and VIXL_GENERATE_SIMULATOR_CODE header guards specific to either AArch64 or AArch32. Even though the simulator only support AArch64. The build system was updated accordingly, the "simulator" variable now takes "aarch64" or "none" as possible values instead of "on" and "off". This fixes issues we have when we want to build VIXL natively on AArch64 without a simulator, but still include the AArch32 macro-assembler. The later would check for VIXL_GENERATE_SIMULATOR_CODE and then generate calls to native code, which breaks. Change-Id: I2850782558d4cc37f37c1644f0efbd70a3123057
/external/vixl/src/aarch64/macro-assembler-aarch64.cc
|
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/aarch64/macro-assembler-aarch64.cc
|
fd09817b8770a5e3a64a6fe4fefe85cc29805cd7 |
|
09-Aug-2016 |
Alexandre Rames <alexandre.rames@linaro.org> |
Do not include data members conditionally on `VIXL_DEBUG` in headers. Objects visible via headers should have the same data-layout in release and debug modes. Change-Id: I7ce5014ab8406968cdd8e9818a7f840cb443b6c1
/external/vixl/src/aarch64/macro-assembler-aarch64.cc
|
de5bb0beb4a3342bb9f0d7e7fe16737a171517b0 |
|
04-Aug-2016 |
Alexandre Rames <alexandre.rames@linaro.org> |
AArch64: Refactor `InstructionAccurateScope` and add a regression test. The previous implementation was not emitting the pools when it needed to upon construction, and was not correctly blocking emission of the pools. Change-Id: I06db5b5891234946b139ba64898929c0e3ced3c4
/external/vixl/src/aarch64/macro-assembler-aarch64.cc
|
9fbd11bbc6a56071f455df28e08854a848f46c3b |
|
08-Aug-2016 |
Alexandre Rames <alexandre.rames@linaro.org> |
AArch64: Refactor `EmissionCheckScope`. It now inherits from `CodeBufferCheckScope` instead of reimplementing the buffer size checking feature. Change-Id: I9cb5f0ea49aba8b87c21d9de41d94562265943f3
/external/vixl/src/aarch64/macro-assembler-aarch64.cc
|
4e7c93cc256c7719d69279d64e4f5d09044b8b2c |
|
19-Jul-2016 |
Alexandre Rames <alexandre.rames@linaro.org> |
AArch64: Introduce a new `GenericOperand` abstraction. Currently, a `GenericOperand` can represent a `CPURegister` or a memory area (`MemOperand` extended by a 'size' field). Change-Id: Ic37c4da07ea888444ccb1bfbd82646d0c56bbe84
/external/vixl/src/aarch64/macro-assembler-aarch64.cc
|
703ff06a087f67fccde24a7ffbc8a2e74a406cb1 |
|
11-Jul-2016 |
Alexandre Rames <alexandre.rames@linaro.org> |
Aarch64: Rename `allow_simulator_instructions_` to `generate_simulator_code_`. Change-Id: I72956db90ab3380b5ad62b37d2ed203ec4045931
/external/vixl/src/aarch64/macro-assembler-aarch64.cc
|
d3832965c62a8ad461b9ea9eb0994ca6b0a3da2c |
|
04-Jul-2016 |
Alexandre Rames <alexandre.rames@linaro.org> |
Update naming to `aarch32` and `aarch64`. Change-Id: I40a929b1095ee3e1b2ca5ef879c7006d8b59acc9
/external/vixl/src/aarch64/macro-assembler-aarch64.cc
|