History log of /external/vixl/src/aarch32/assembler-aarch32.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
36fb1cec5777b87c8c6236dc1cdb9941abc58ead 06-Oct-2017 Vincent Belliard <vincent.belliard@arm.com> Fix vld, vst instructions with post-index.

Change-Id: I23298cb948eb73e4a98c7b3e24fd0717214be8ee
/external/vixl/src/aarch32/assembler-aarch32.cc
f9d8c6e6eacb90fa4284a0d3fc784ad2bc4874af 12-Sep-2017 Vincent Belliard <vincent.belliard@arm.com> Check unpredictable (OutsideITBlock()) for crc, hvc.

Change-Id: I1d61eac5e2db61b9e89e88438089d1c6ba672c84
/external/vixl/src/aarch32/assembler-aarch32.cc
f9a3bc17461518bd96d7afff61fb4cb5e3d48964 12-Sep-2017 Vincent Belliard <vincent.belliard@arm.com> Check unpredictable for vldm, vstm.

Change-Id: I7fedb713b3280e33c5da7448be9f146d51123231
/external/vixl/src/aarch32/assembler-aarch32.cc
8ecc789f1bdda97c006ce4e8e075b9ca1c964dfb 08-Sep-2017 Vincent Belliard <vincent.belliard@arm.com> Check unpredictable conditions for vstr.

/r/4070/

Change-Id: I39981e2009e09ae53dd9302300b3772ebdb09ee1
/external/vixl/src/aarch32/assembler-aarch32.cc
71fb5916778754132c6f0872134731ef996e80dc 16-Aug-2017 Vincent Belliard <vincent.belliard@arm.com> Fix tests for indexed register.

Change-Id: I5b3923328169d945766643d0f5e8a6bf99a118ff
/external/vixl/src/aarch32/assembler-aarch32.cc
1bce007699e07bd855b7d194ca93fa5504a73eda 06-Jun-2017 Pierre Langlois <pierre.langlois@arm.com> Use clang-format 3.8 to format VIXL

Additionally, this version of clang-format orders include directives
alphabetically which showed that the "non-const-visitor.h" header was missing
two of them.

Change-Id: Ib03407dd2046a0bb7175370685e09fb3aebe583f
/external/vixl/src/aarch32/assembler-aarch32.cc
ac2854411c51a724d1c9866abfa6ea9c94998116 16-May-2017 Vincent Belliard <vincent.belliard@arm.com> Factorize reference info.

Change-Id: Iaf796e0f2e4fd6af4654f855ea5695cdbb14d5d3
/external/vixl/src/aarch32/assembler-aarch32.cc
8b57c86886020cf0a5331823be4789ee558764e2 02-Mar-2017 Georgia Kouveli <georgia.kouveli@arm.com> [pool-manager] Integration with aarch32.

Key points of this patch:
- renames LabelBase to LocationBase
- makes the Location class derive from LoctionBase
- moves the code for Location, Label and RawLiteral/Literal to a shared file
- moves ReferenceInfo out of Assembler
- removes all the old veneer pool and literal pool code
- updates the macro assembler to use the new pool manager
- updates existing tests that expect a certain behaviour from the pool manager
- adds new tests for corner cases that came up during integration
- adds tests for issues that the new pool manager addresses (literal_and_veneer_interaction_*)

Change-Id: Ied81401d40f88cb988ff95e85fe832851f171f77
/external/vixl/src/aarch32/assembler-aarch32.cc
c9a1da70cea8c4f28bac34bad9f195c27f095bfa 24-May-2017 Vincent Belliard <vincent.belliard@arm.com> Fix adr A1 info.

Change-Id: I03ad5f9b818650c3fc4965da9f120a4244e7a23a
/external/vixl/src/aarch32/assembler-aarch32.cc
275c9d477d5bb717ac48f29db4ed153495be5ad3 12-May-2017 Georgia Kouveli <georgia.kouveli@arm.com> [pool-manager] Split Label and Literal.

Add a new Location class that's a parent of both Label and Literal. Uses of
Label and Literal in the MacroAssembler stay as before, whereas in the
Assembler the new simple Location class is used.

Also changes the EmitOperator to store the ISA of the reference instruction (to
avoid storing this information in ForwardReference), and removes the minimum
and maximum offsets from EmitOperator, since that information is now stored in
ReferenceInfo. Addition of the architecture-specific PC-offset is now done in
the Encode method of the EmitOperator, where we don't need to check which
instruction set we are using (it's statically known).

These changes are in preparation of integration with the new pool manager, but
also clean up usage of labels and literals in some cases. For example, it won't
be possible to jump to a literal with the MacroAssembler anymore, as Literal
does not derive from Label.

Change-Id: I1139faaccfbd087e97ecbff2cfc2433a35582973
/external/vixl/src/aarch32/assembler-aarch32.cc
4b139a2dd8a7c32fc0f7df0cfd36d6c1336bc26c 31-Mar-2017 Georgia Kouveli <georgia.kouveli@arm.com> [pool-manager] Add helper functions to get info on forward references.

Change-Id: I0da221d37d8fa8b0188ace565be37a5f3dd6f3da
/external/vixl/src/aarch32/assembler-aarch32.cc
07f9e742691f10b7ff8b0107415eb94e157c2b33 21-Apr-2017 Vincent Belliard <vincent.belliard@arm.com> Use SOperand and DOperand for cmp and cmpe.

Change-Id: Ie5419a9f423c9dca7e21308ce3b35909500f2ca2
/external/vixl/src/aarch32/assembler-aarch32.cc
94ce7a99e8fad024fd8e17ada567eebe32431d64 20-Feb-2017 Pierre Langlois <pierre.langlois@arm.com> Remove redundant LR checks in the assembler

A32 instructions using "rt" and "rt2" as operands have redundant checks in the
assembler. In those cases "rt2" is defined to be "rt + 1" and we have the
following checks:

- rt != LR
- rt2 != PC

Let's remove the LR check. The affected instructions are:

- LDAEXD (A1)
- LDRD (A1)
- STLEXD (A1)
- STRD (A1)
- STREXD (A1)

Change-Id: I6da70dc2b15451e7b6250b354c61b40d3e328ba9
/external/vixl/src/aarch32/assembler-aarch32.cc
dc626f3eb17d2a790a672d2fde74c48929e854b6 15-Feb-2017 Pierre Langlois <pierre.langlois@arm.com> Add unpredictable checks when the instruction has to be last in IT block

Some instructions may only be used inside an IT block when there are the last
one, add checks for this in the assembler.

- BL
- BLX
- BX
- BXJ
- SUBS

Change-Id: I2c6e76580cb8b25900ab7b336910ddaa72bef66f
/external/vixl/src/aarch32/assembler-aarch32.cc
6bf388ddc1e1050141b7163df9d7e5ccde4959c8 15-Feb-2017 Pierre Langlois <pierre.langlois@arm.com> Add unpredictable checks mis-uses of PC in aliases

Add checks for mis-use of PC in the following alias instructions:

- ASR{S}
- LSL{S}
- LSR{S}
- ROR{S}
- RRX{S}
- POP
- PUSH
- SUB (alias ADR)

Change-Id: Ibfd8d1be6841e9e8a12ffd5cf015b6de6bc9eacd
/external/vixl/src/aarch32/assembler-aarch32.cc
fcd33733df701a39192f80c17eccc6b134ea0aa5 15-Feb-2017 Pierre Langlois <pierre.langlois@arm.com> Explicitely name the RS register

The assembler would always refer to RS as
"operand.GetShiftRegister()". Explicitely name this register rs instead of
assuming it is in an operand.

Change-Id: I637e444cae50fdedc53925885c245b316735b3cb
/external/vixl/src/aarch32/assembler-aarch32.cc
960d28b9155a4e2f50c8fc298b812255fc724300 15-Feb-2017 Pierre Langlois <pierre.langlois@arm.com> Add unpredictable checks for mis-use of PC

Add the following checks in the assembler:

- If PC is not allowed unconditionally:

if (!register.IsPC() || AllowUnpredictable()) {
// Emit
}

- If PC is not allowed inside an IT block unless it is the last instruction in
the block:

if ((!register.IsPC() || OutsideITBLockAndAlOrLast(cond)) ||
AllowUnpredictable()) {
// Emit
}

This patch does not include instructions which are aliases.

Change-Id: I3ebb90747eeb9562f9d98e7d20006da1cd856713
/external/vixl/src/aarch32/assembler-aarch32.cc
609821fcd0b88f46b514e1938c420bde12284267 08-Feb-2017 Vincent Belliard <vincent.belliard@arm.com> Use an integer instead of an operand for bfc, bfi, sbfx and ubfx width operand.

Change-Id: I5eb025f01b4d92eded9a393b6364c38de27c6fe5
/external/vixl/src/aarch32/assembler-aarch32.cc
fc61fb69b2dea19053c0ae6694ee4e424a0d0245 12-Jan-2017 Georgia Kouveli <georgia.kouveli@arm.com> Clean up the Label class.

This adds a separate Label class to be used by the Disassembler, which needs
fewer fields than the Assembler, and removes the pc_offset and minus_zero
fields from the Label class used by the Assembler. If the user wants a minus
zero offset in an instruction that supports it, they can achieve that by using
a MemOperand with PC as the base.

Change-Id: I891b03cef5027acf7d3d5e42e5446663d80a92a1
/external/vixl/src/aarch32/assembler-aarch32.cc
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/assembler-aarch32.cc
e99f34dd95e54fb15605a022309175ed8020bf2c 21-Dec-2016 Georgia Kouveli <georgia.kouveli@arm.com> Check for unpredictable CLZ.

Change-Id: I2f8799efc32bd2aae3c3d9c604d389511eab8987
/external/vixl/src/aarch32/assembler-aarch32.cc
942e3b7b1d381454c8f17c31c8a3ccbe568512f7 30-Nov-2016 Vincent Belliard <vincent.belliard@arm.com> Add unpredictable conditions for mov.

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

Change-Id: I95c1a9c2d91c91303ac10898ca556e6e798403e5
/external/vixl/src/aarch32/assembler-aarch32.cc
d17e348e16bf0d6eca4f9ea0e935c7544098d045 23-Nov-2016 Vincent Belliard <vincent.belliard@arm.com> Add unpredictable conditions for ADC_i, ADC_r, ADC_rr, ADD_ADR, ADD_i, ADD_r, ADD_rr, ADD_SP_i, ADD_SP_r, ADR and MOV_i.

Change-Id: I2d0255c352881d855b375db65794ee7f282b1cfe
/external/vixl/src/aarch32/assembler-aarch32.cc
989663e3cb7be8ac458d71f8e8d99afd29b13a39 24-Nov-2016 Pierre Langlois <pierre.langlois@arm.com> Rename operand-aarch32.{h,cc} to operands-aarch32.{h,cc}

We were inconsistent in naming this file between the AArch64 and AArch32
targets, let's go with what AArch64 calls is and pluralize operand.

Change-Id: Id2581255e4aa398f2c6fa81e5abce1f4b9b8a364
/external/vixl/src/aarch32/assembler-aarch32.cc
39b5e60b78f447c4af8c18f12281ed7ab9c33c82 18-Nov-2016 Vincent Belliard <vincent.belliard@arm.com> Fix assembler for instructions with an operand like [<Rn>, imm].

Change-Id: Iff2f0f8a6bd67886cb8b658b606514a9845796f7
/external/vixl/src/aarch32/assembler-aarch32.cc
9fcf6d6dd240d7f40f187965c981749eb4eaa94b 17-Nov-2016 Vincent Belliard <vincent.belliard@arm.com> Fix assembler for instructions with an operand like "[PC, #imm]".

Change-Id: If6a945b9ef2ae08639efe1e85fef9e7d28340c25
/external/vixl/src/aarch32/assembler-aarch32.cc
c0ee83fd133e93d3967d8347ad2bf2a218524348 18-Nov-2016 Vincent Belliard <vincent.belliard@arm.com> Use IsOffset, IsPreIndex and IsPostIndex.

Change-Id: Ib7fd5e55689954c12ce90cf2bb605528a3ea057c
/external/vixl/src/aarch32/assembler-aarch32.cc
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/assembler-aarch32.cc
60241a544be0ebf48347789bf0ec268414364627 10-Nov-2016 Vincent Belliard <vincent.belliard@arm.com> Specify NOLINT disabled directives.

Remain:
src/aarch32/operand-aarch32.h:207: Operand(float) VIXL_NO_RETURN_IN_DEBUG_MODE { // NOLINT
src/aarch32/operand-aarch32.h:210: Operand(double) VIXL_NO_RETURN_IN_DEBUG_MODE { // NOLINT
which can't be specified due to a linter bug.

Change-Id: I5cf55e18772564363a9d895ef83481381ae96635
/external/vixl/src/aarch32/assembler-aarch32.cc
e42218c6ca969b7d4032da978fb05f06641df100 19-Oct-2016 Vincent Belliard <vincent.belliard@arm.com> Make bind and place more consistent.

Change-Id: I1743511e3c6f995f05cded38347a015c198b1fb9
/external/vixl/src/aarch32/assembler-aarch32.cc
3fac43c1a101f98f116e752b80abc122d32b83ac 31-Oct-2016 Pierre Langlois <pierre.langlois@arm.com> Mark methods as `override` when compiling with C++11

This patch introduces a VIXL_OVERRIDE macro. When building with gcc
-std=c++11, we now enable the `-Wsuggest-override` warning so that we do
not forget to add them in the future.

Change-Id: I0f402599019ba9de1a7a654e9499f00a07f00201
/external/vixl/src/aarch32/assembler-aarch32.cc
120cafb9da939e107413e7158897ad73b83d55bf 30-Aug-2016 Pierre Langlois <pierre.langlois@arm.com> Correctly assemble VCLE and VCLT

VCLE and VCLT are aliases for VCGE and VCGT, however the source operands
have to be commuted. The assembler did not do this.

Change-Id: Icfa437ed417d9e234510fcab6034aa983d53e744
/external/vixl/src/aarch32/assembler-aarch32.cc
8ee2cef99dc4fae4129430834d2778d97cb5e076 12-Sep-2016 Pierre Langlois <pierre.langlois@arm.com> Revert "Correctly assemble VCLE and VCLT"

This reverts commit 702351b9ba0640958e17eed2ee041278294899b1.

Change-Id: Ic625aeecd276ebd582afd60005f8b1b2eea65f55
/external/vixl/src/aarch32/assembler-aarch32.cc
702351b9ba0640958e17eed2ee041278294899b1 30-Aug-2016 Pierre Langlois <pierre.langlois@arm.com> Correctly assemble VCLE and VCLT

VCLE and VCLT are aliases for VCGE and VCGT, however the source operands
have to be commuted. The assembler did not do this.

Change-Id: Ia660ddce3c7a8aeaaf636b393b1df2b710d37c63
/external/vixl/src/aarch32/assembler-aarch32.cc
8885c17bce593f82cf90c086da242e52943c50ef 24-Aug-2016 Vincent Belliard <vincent.belliard@arm.com> forbid direct use of assembler from the macro-assembler

Change-Id: Ic00c9c72e9aed7efaab72a6fd6838bbd0bda6531
/external/vixl/src/aarch32/assembler-aarch32.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/aarch32/assembler-aarch32.cc
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/assembler-aarch32.cc
d3832965c62a8ad461b9ea9eb0994ca6b0a3da2c 04-Jul-2016 Alexandre Rames <alexandre.rames@linaro.org> Update naming to `aarch32` and `aarch64`.

Change-Id: I40a929b1095ee3e1b2ca5ef879c7006d8b59acc9
/external/vixl/src/aarch32/assembler-aarch32.cc