summaryrefslogtreecommitdiffstatshomepage
path: root/py/asmarm.h
Commit message (Collapse)AuthorAge
* all: Use the name MicroPython consistently in commentsAlexander Steffen2017-07-31
| | | | | There were several different spellings of MicroPython present in comments, when there should be only one.
* all: Unify header guard usage.Alexander Steffen2017-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code conventions suggest using header guards, but do not define how those should look like and instead point to existing files. However, not all existing files follow the same scheme, sometimes omitting header guards altogether, sometimes using non-standard names, making it easy to accidentally pick a "wrong" example. This commit ensures that all header files of the MicroPython project (that were not simply copied from somewhere else) follow the same pattern, that was already present in the majority of files, especially in the py folder. The rules are as follows. Naming convention: * start with the words MICROPY_INCLUDED * contain the full path to the file * replace special characters with _ In addition, there are no empty lines before #ifndef, between #ifndef and one empty line before #endif. #endif is followed by a comment containing the name of the guard macro. py/grammar.h cannot use header guards by design, since it has to be included multiple times in a single C file. Several other files also do not need header guards as they are only used internally and guaranteed to be included only once: * MICROPY_MPHALPORT_H * mpconfigboard.h * mpconfigport.h * mpthreadport.h * pin_defs_*.h * qstrdefs*.h
* py: Move arch-specific assembler macros from emitnative to asmXXX.h.Damien George2016-12-09
|
* py: Factor out common code from assemblers into asmbase.[ch].Damien George2016-11-28
| | | | All assemblers should "derive" from mp_asm_base_t.
* py: Implement native multiply operation in viper emitter.Damien George2015-06-04
|
* emitnative: Revamp ARM codegen compile after full-arg support refactors.Paul Sokolovsky2015-05-08
| | | | | | The code was apparently broken after 9988618e0e0f5c319e31b135d993e22efb593093 "py: Implement full func arg passing for native emitter.". This attempts to propagate those changes to ARM emitter.
* py: Add guarded includes for asm-based headers.Damien George2015-01-01
|
* py: Implement native load for viper.Damien George2014-10-12
| | | | | Viper can now do: ptr8(buf)[0], which loads a byte from a buffer using machine instructions.
* py: Implement and,or,xor native ops for viper.Damien George2014-10-12
|
* Implement missing ARM emitter functions for viperFabian Vogt2014-10-04
|
* py: Implement more binary ops for viper emitter.Damien George2014-09-29
| | | | | This included a bit of restructuring of the assembler backends. Note that the ARM backend is missing a few functions and won't compile.
* py: Make macro names in assemblers consistent, and tidy up a bit.Damien George2014-09-29
|
* py: Make asm_arm_less_op take destination register as first arg.Damien George2014-09-15
| | | | This gets ARM native emitter working againg and addresses issue #858.
* py: Clean up x86-64 native assembler; allow use of extended regs.Damien George2014-09-07
| | | | Native x86-64 now has 3 locals in registers.
* Clarify copyright on asmarm filesFabian Vogt2014-08-28
|
* Basic native ARM emitterFabian Vogt2014-08-27