Scott Wakeling
294e6f426d
AArch32: Add GetSizeOfCodeGenerated() const accessor to Assembler.
...
Change-Id: I84877dd2c6aa6d0c5755c9dab6235e618bec26b6
2016-07-22 10:22:48 +00:00
Scott Wakeling
5f916f4f8d
AArch32: Add shared target libraries to Android.mk.template.
...
Change-Id: I588d59135b124a15edc7f2a5c74c034e5fc9a8f3
2016-07-22 09:47:52 +01:00
Alexandre Rames
0d68001a97
AArch64: update the behaviour of breakpoint in the debugger.
...
When hitting a breakpoint, the debugger now stops with the PC pointing *after*
the breakpoint.
Before:
vixl> disasm 6
0x0000000002271c58 d2800021 mov x1, #0x1
0x0000000002271c5c d2800042 mov x2, #0x2
0x0000000002271c60 d2800063 mov x3, #0x3
0x0000000002271c64 d2800084 mov x4, #0x4
0x0000000002271c68 d4200020 brk #0x1
0x0000000002271c6c d28000a5 mov x5, #0x5
vixl> c
Hit breakpoint at pc=0x2271c68.
Next: 0x0000000002271c68 d4200020 brk #0x1
vixl>
After:
vixl> disasm 6
0x000000000118dc58 d2800021 mov x1, #0x1
0x000000000118dc5c d2800042 mov x2, #0x2
0x000000000118dc60 d2800063 mov x3, #0x3
0x000000000118dc64 d2800084 mov x4, #0x4
0x000000000118dc68 d4200020 brk #0x1
0x000000000118dc6c d28000a5 mov x5, #0x5
vixl> c
Hit breakpoint at pc=0x118dc68.
Next: 0x000000000118dc6c d28000a5 mov x5, #0x5
Change-Id: Ia14e030cd1fa4ab73e49ec0782c91c04fc4fcc5e
2016-07-21 14:15:49 +00:00
Alexandre Rames
86af869710
Fix a formatting error.
...
Change-Id: I84e4b137904a89b62b931c5d8e16a0d7620d6ab9
2016-07-21 11:29:32 +01:00
Alexandre Rames
80497ed4c9
Add a skip
command to the AArch64 debugger.
...
Here is an example of user interaction:
Hit breakpoint at pc=0xb3cc50.
Next: 0x0000000000b3cc50 d4200000 brk #0x0
vixl> disasm
0x0000000000b3cc50 d4200000 brk #0x0
0x0000000000b3cc54 d2800000 mov x0, #0x0
0x0000000000b3cc58 d2800021 mov x1, #0x1
0x0000000000b3cc5c d2800042 mov x2, #0x2
0x0000000000b3cc60 d2800063 mov x3, #0x3
0x0000000000b3cc64 d2800084 mov x4, #0x4
0x0000000000b3cc68 d28000a5 mov x5, #0x5
0x0000000000b3cc6c f100001f cmp x0, #0x0 (0)
0x0000000000b3cc70 da805400 cneg x0, x0, mi
0x0000000000b3cc74 d65f03c0 ret
vixl> stepi
Next: 0x0000000000b3cc58 d2800021 mov x1, #0x1
vixl> skip 3
Skipping over 3 instructions:
Skip: 0x0000000000b3cc58 d2800021 mov x1, #0x1
Skip: 0x0000000000b3cc5c d2800042 mov x2, #0x2
Skip: 0x0000000000b3cc60 d2800063 mov x3, #0x3
Next: 0x0000000000b3cc64 d2800084 mov x4, #0x4
vixl>
Change-Id: I833cf6381edf94423f1e54dae636d206a93fed9f
2016-07-20 16:47:16 +01:00
Alexandre Rames
384fe09960
Fix the AArch64 debugger breaking mechanism.
...
The PC was not correctly incremented when trying to execute past a
breakpoint after the debugger shell had run.
Change-Id: I836ace501a4b32e62b7a1014a57480d3fdf54f8c
2016-07-20 15:46:02 +00:00
Alexandre Rames
4886a72530
Fix the AArch64 debugger's stepi
command.
...
Change-Id: I5e16d72760e0b288ef1e86f13997d1d5e7d6f2eb
2016-07-20 15:45:18 +00:00
Alexandre Rames
6c0406d676
Add a default argument for the aarch32::PrintDisassembler
constructor.
...
Change-Id: If59c0fb16e4ea4ae72a7aeaa670ea8b54b218aca
2016-07-20 12:19:26 +00:00
Alexandre Rames
81c76e6133
Print relative real paths when running tests.
...
For example, on my setup, this changes:
./tools/test.py --fast
[...]
/work/vixl/vixl/obj/mode_debug/symbols_on/CXX_clang++/std_c++98/simulator_on/benchmarks/aarch64/bench-branch-link-masm
[...]
to
./tools/test.py --fast
[...]
obj/mode_debug/symbols_on/CXX_clang++/std_c++98/simulator_on/benchmarks/aarch64/bench-branch-link-masm
[...]
Change-Id: I369e49fe0ef65d4ce313a0bfb8e3ed99bf4dbd61
2016-07-20 10:39:38 +01:00
Alexandre Rames
bf499cc386
Improve processing in tools/lint.py
.
...
This makes `tools/lint.py --uncached` faster again. The text output
is also updated more regularly.
Change-Id: I24fe29881e154e0abb686d7ad68fd5be94b41852
2016-07-13 09:16:40 +01:00
Alexandre Rames
8edbcac915
Aarch64: Introduce MemOperand::IsValid()
and MemOperand::Equals()
.
...
Change-Id: I716ce507b398b4a86048d9346a1233b67baef99e
2016-07-12 16:50:42 +01:00
Alexandre Rames
61e54cf693
Avoid spawning tasks to lint test traces header files.
...
Although the CPPLINT.cfg files exclude those, simply starting
the linting tasks is expensive.
Number of linting tasks started:
before: 2670
after: 201
Change-Id: I4ebcf1e27d4ff388e0b2d5f15645c52fd4927db4
2016-07-12 16:27:17 +01:00
Alexandre Rames
703ff06a08
Aarch64: Rename allow_simulator_instructions_
to generate_simulator_code_
.
...
Change-Id: I72956db90ab3380b5ad62b37d2ed203ec4045931
2016-07-12 15:26:02 +00:00
Alexandre Rames
b2746629e8
Cache tools/lint.py
results.
...
Change-Id: Id9ca69583796e202f68dad847ef640824146fd59
2016-07-12 14:52:20 +00:00
Alexandre Rames
9aded35530
Aarch64: Clean a few more usage of the MacroAssembler
constructor.
...
Change-Id: Ibc1ed87b7105c9b2c6e710f15347e7023e8f8a98
2016-07-11 17:11:03 +01:00
Alexandre Rames
dd7de86797
Tweak configuration of tools/test.py
's fast mode.
...
Change-Id: Idbf424da0ddeb817aa089cf78814ab9dfb542ebf
2016-07-11 10:31:58 +01:00
Alexandre Rames
73064a2fd9
Introduce the --fail-early
option for tools/test.py
.
...
Exit the test with the appropriate exit code as soon as the
first test or building stage fails.
Change-Id: I727aeef0afaf4d0b23d1d25911a08f24bfc28a7f
Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
2016-07-11 10:19:17 +01:00
Alexandre Rames
def50a5485
Aarch64: Extract registers and operands in separate files.
...
Also clean `#include` directives of `assembler-aarch64.h`.
Change-Id: Ic269216eba1c8c09318a92465365b5cf4a8dbd68
2016-07-06 09:33:10 +01:00
Alexandre Rames
d3832965c6
Update naming to aarch32
and aarch64
.
...
Change-Id: I40a929b1095ee3e1b2ca5ef879c7006d8b59acc9
2016-07-04 15:03:43 +01:00
Alexandre Rames
b78f13911b
Add an AUTHORS
file and update copyright notices.
...
Change-Id: Ifb505e5664996c1af41e38376e58ba49864213a3
2016-07-04 08:44:15 +01:00
Alexandre Rames
9d9901810c
Improve VIXL static assertion macros.
...
Change-Id: I346c6ac316ad9939038ae4541d25031429df5d5d
2016-07-01 14:43:01 +00:00
Alexandre Rames
f2f550c0bf
Use the default vixl::aarch64::MacroAssembler
constructor where sensible.
...
Change-Id: If5d07577778a61f07f95f305a286e0215161334a
2016-07-01 14:52:47 +01:00
Alexandre Rames
89dabc88e9
Fix the YCM configuration for the simulator.
...
Change-Id: Ib83b3e53eedf8425813eeb45cb931a583e61a30d
2016-07-01 14:00:44 +01:00
Anton Kirilov
6a46bf3b4e
Ensure stricter alignment when loading and storing register pairs.
...
The impetus for this change is the fact that loads that cross a
64 byte boundary and stores that cross a 16 byte boundary are a
performance issue on Cortex-A57 and A72.
Change-Id: I69b81a9c3218772b02fd10be7ebf16122bb0b83c
2016-06-21 11:45:09 +01:00
Pierre Langlois
dcd672d4b9
Merge "Include 32 bit sources in Android.mk generator"
2016-06-20 09:27:54 +00:00
Pierre Langlois
f849f80efe
Include 32 bit sources in Android.mk generator
...
It seems there was a merge issue when including the AArch32 port of VIXL
and the port of `generate_android.mk.py` was incorrectly added.
Change-Id: Id99d81c4dd6e40684d069b32eee4a8891bcdb209
2016-06-17 13:45:56 +01:00
Alexandre Rames
715f99ab62
Update comments in the a32 literal pool design document.
...
Change-Id: I5c3a89df8563e3fb15639d357ae4346db1c69585
2016-06-17 10:44:52 +01:00
Alexandre Rames
6d3f773e31
Remove the unused a32 enum FlagsUpdate
.
...
Change-Id: Ide240462fab01b5993f23091015b123c821584a4
2016-06-17 10:41:13 +01:00
Alexandre Rames
da58c695fb
Remove the unused default paramater for aarch32::MacroAssembler::EnsureEmitFor.
...
Change-Id: I9ffab42a047fc0e051d133a28ef13f60b13809f0
2016-06-17 10:38:14 +01:00
Alexandre Rames
b0d7672aa9
Introduce a default MacroAssembler constructor.
...
Change-Id: I3b1f892ce413301ded32887e58d4c0a277e877fe
2016-06-09 13:53:29 +01:00
Alexandre Rames
1f708eecf2
Add a missing typename
.
...
This was observed using VIXL as a separate library with (at least):
clang++ --version
Apple LLVM version 7.3.0 (clang-703.0.29)
Target: x86_64-apple-darwin15.5.0
Thread model: posix
Change-Id: I8fedc210232f454539c0ee07f9dffd3759ad42ac
2016-06-08 21:56:14 +01:00
Alexandre Rames
4e2419325b
Correctly remove obj/latest
when it is a directory.
...
Change-Id: I435bf61633433a80647b58eeeb22d7de6de44227
2016-06-08 21:39:20 +01:00
Alexandre Rames
dd47fed5e4
Fix a bug in the MacroAssembler CSEL helpers.
...
This also introduces regression tests.
Change-Id: Ic0966c369acfaa4017c874926c86ba3b46ff2e9b
2016-06-07 09:08:40 +01:00
Pierre Langlois
88c46b84df
Add assembler, macro-assembler and disassembler support for AArch32
...
Add support for the A32 and T32 instruction set architectures in
seperate a32 directories.
Note that this commit introduces aarch32 and aarch64 namespaces so
existing client code will need to be adjusted.
Refer to doc/getting-started-a32.md for an introduction.
Change-Id: Iaf3e5f496ec4e19d77d304128e6920daa4549e78
2016-06-03 10:33:51 +01:00
Jacob Bramley
5bc98e5bed
Work around a clang-format bug.
...
Change-Id: Iae451d3f1afa7cf9a44caa1eebf098a0ce9da58e
2016-06-02 15:40:58 +01:00
Alexandre Rames
7a520b3749
Disable clang-format for comments containing NOLINT
.
...
Change-Id: I523efd715ec47ab661d1ceebce86a2a0f72d926b
2016-06-02 10:49:09 +01:00
Alex Light
95372fcd05
Fix the Android makefile.
...
This is a cherry-pick of https://android-review.googlesource.com/#/c/232680 .
Change-Id: If4f6627c08edc7ae6f72177fa9721687fcbc05ec
2016-05-25 17:24:51 +01:00
Alexandre Rames
b68bacb75c
Sort and fix #include
directives.
...
Includes are sorted into groups, each sorted alphabetically and separated by a
blank line. The groups are, in order, C headers, C++ headers, VIXL (non-backend)
headers, and VIXL backend headers.
Change-Id: I9a71430bffeaf77389a089487ce264db8d1d9ddc
2016-05-25 13:26:11 +01:00
Alexandre Rames
1f9074de15
Suffix source files in src/
with -vixl
.
...
This is required to keep VIXL building within Android: its build system copies
files across assuming that there will be no naming conflicts.
Change-Id: I9475c8833dd2f74f814004b7572ccc61337046fb
2016-05-25 13:26:11 +01:00
Alexandre Rames
39c32a63e0
Move source files from src/vixl/
to src/
.
...
This commit only moves files and updates the `#include` paths appropriately.
Change-Id: I9d430bd34af617c943a6c6570c9a3c27169eaf1b
2016-05-23 15:53:50 +01:00
Alexandre Rames
fc81d9b819
Do not use $ANDROID_BUILD_TOP in Android.mk.
...
It causes `make -j20 test-art-host-vixl` to fail when running without
sourcing `build/envsetup.sh` and running lunch.
Change-Id: Ie9028ca69c357e586e899f3f24a561fb311ed814
2016-05-18 15:35:55 +01:00
Alexandre Rames
7c0ea8b64c
Set the exit code in tools/test.py
to indicate success or failure.
...
Change-Id: If7ad98423ed2a58ad201c7c71c93b95781739e5a
2016-05-18 13:47:42 +01:00
Alexandre Rames
ba1832c903
Fix the Android.mk.template.
...
The test-runner must be run from the vixl root.
Change-Id: I6ef4bb8cfcb939fee34662a85cae286b253c9ca8
2016-05-16 10:26:57 +01:00
Jacob Bramley
838e379d79
Add a .gitreview for Linaro's server.
...
Change-Id: Ia23a784928704c8ab33e1a2eb91cd96fd0b313c6
2016-05-13 16:14:28 +01:00
John Pulford
85a01e7807
Fix for undefined uint64_t to int64_t conversion.
...
Change-Id: Ibaad452aafbc4679751a2227e09884cb4d3b5d0e
2016-05-13 15:52:24 +01:00
armvixl
0f35e36b7f
VIXL Release 1.13
...
Refer to the README.md and LICENCE files for details.
Change-Id: I922914f4e7da7cb939a8054cded11feb9ea51a86
2016-05-13 15:06:20 +01:00
armvixl
788c84fd2c
VIXL Release 1.12
...
Refer to the README.md and LICENCE files for details.
2015-12-08 17:05:23 +00:00
armvixl
684cd2a7f5
VIXL Release 1.11
...
Refer to the README.md and LICENCE files for details.
2015-10-23 13:38:33 +01:00
armvixl
db64434993
VIXL Release 1.10
...
Refer to the README.md and LICENCE files for details.
2015-07-21 11:37:10 +01:00
armvixl
6e2c8275d5
VIXL Release 1.9
...
Refer to the README.md and LICENCE files for details.
2015-03-31 11:04:14 +01:00