aboutsummaryrefslogtreecommitdiffstats
path: root/powerpc/AsmToJSON.ml
Commit message (Collapse)AuthorAgeFilesLines
* Print 64bit constants for rldimn and rldimi.Bernhard Schommer2017-05-051-2/+2
|
* More asserts.Bernhard Schommer2017-05-031-1/+1
|
* Hybrid 64bit/32bit PowerPC portBernhard Schommer2017-05-031-13/+61
| | | | | | | | | | | | | This commit adds code generation for 64bit PowerPC architectures which execute 32bit applications. The main difference to the normal 32bit PowerPC port is that it uses the available 64bit instructions instead of using the runtime library functions. However pointers are still 32bit and the 32bit calling convention is used. In order to use this port the target architecture must be either in Server execution mode or if in Embedded execution mode the high order 32 bits of GPRs must be implemented in 32-bit mode. Furthermore the operating system must preserve the high order 32 bits of GPRs.
* Assert instead of unit.Bernhard Schommer2017-04-101-6/+6
| | | | | | Instructions expanded by Asmexpand should never end up in AsmToJSON. Bug 21345
* Filter out functions earlier. Bug 21343Bernhard Schommer2017-04-101-24/+27
|
* Fix name of function. Bug 21378Bernhard Schommer2017-04-071-1/+1
|
* Do not generate code for "inline definitions"Bernhard Schommer2017-04-071-21/+23
| | | | | | | | | ISO C99 states that "inline defintions", functions with inline specifier that are not extern, does not provide an external definition and another compilation unit can contain an external definition. Thus in the case of non-static inline functions no code should be generated. Bug 21343
* Added warning for inline asm in sdump. Bug 20593Bernhard Schommer2016-12-141-1/+6
|
* Reverted name for entry back to the old one.Bernhard Schommer2016-03-211-1/+1
| | | | | Valex expects Fun Section Literals and not Fun Section Literal. Bug 18394
* Change atom printer to use the common function.Bernhard Schommer2016-03-161-1/+1
| | | | | | The printer for atom constants should also use the printer for singleton objects. Bug 18394
* Cleanup of AsmToJSON.Bernhard Schommer2016-03-161-118/+83
| | | | | | Removed unused code, factored out common functions and added an interface file. Bug 18394
* Deactivate warning 27 and added back removed code.Bernhard Schommer2016-03-151-9/+9
| | | | | | The code was mostly there for documentation effort. So warning 27 is deactivated again. Bug 18349
* Code cleanup.Bernhard Schommer2016-03-101-17/+17
| | | | | | Removed some unused variables, functions etc. and resolved some problems which occur if all warnings except 3,4,9 and 29 are active. Bug 18394.
* Also print braces around the registers.Bernhard Schommer2016-02-041-2/+7
|
* Fixed missing \" in json printing for registers.Bernhard Schommer2016-02-041-2/+2
|
* Added printer for Configuration and finished Clflags.Bernhard Schommer2016-01-251-66/+70
|
* Started implementing a printer for Clflags.Bernhard Schommer2016-01-251-12/+5
|
* Bug 17752, add rldicr instruction for PowerPCMichael Schmidt2015-12-151-0/+1
|
* bug 17544, use json-printer function for mfcr instructionMichael Schmidt2015-11-091-3/+2
|
* Removed unused p_char_list function. Bug 17544.Bernhard Schommer2015-11-031-2/+0
|
* Changed the name of a few ppc instructions. Bug 17544Bernhard Schommer2015-11-031-3/+3
|
* Simplify the Json export.Bernhard Schommer2015-11-031-166/+183
| | | | | | Instead of having a function for each instruction we now use a generic function to print the arguments. Bug 17544.
* Few simple rewrite for the AsmToJSON printer.Bernhard Schommer2015-10-291-155/+147
| | | | | | In a first step all the print commands for the names are replaced by a more safe variant that avoids missing \". Bug 17328
* Another typo in AsmToJson.Bernhard Schommer2015-10-291-1/+1
| | | | Bug 17473
* Fixed some minor types in the asm printer.Bernhard Schommer2015-10-291-1/+1
| | | | Bug 17473
* Fixed typo in AsmToJson.Bernhard Schommer2015-10-261-1/+1
| | | | Bug 17473.
* Implemented the usage of DW_AT_ranges for non-contiguous address ranges.Bernhard Schommer2015-10-161-0/+1
| | | | | | | | | | The gcc produces DW_AT_ranges for non-contiguous address ranges, like compilation units containing functions which are placed in different ELF-sections or lexical scopes that are split up. With this commit CompCert also uses this DWARF v3 feature for gnu backend based targets. In order to ensure backward compability a flag is added which avoids this and produces debug info in DWARF v2 format. Bug 17392.
* bug 17392: remove trailing whitespace in source filesMichael Schmidt2015-10-141-16/+16
|
* Implement the usage of the debug_str section for the gcc backend.Bernhard Schommer2015-10-131-1/+2
| | | | | | | | GCC prints all string larger than 3 characters in the debug_str section which reduces the size of the debug information since entries containing the same string now map to the same string in the debug_str sections. Bug 17392.
* Merge branch 'master' into ppc64Xavier Leroy2015-10-111-3/+5
|\ | | | | | | Resolved conflicts in:configure powerpc/Asmexpand.ml
| * Fixed syntax error and added Section_debug_line to the Json serializer.Bernhard Schommer2015-10-091-0/+1
| |
| * Quote the section names in the json files.Bernhard Schommer2015-10-021-1/+1
| |
| * Change the way the debug sections are printed.Bernhard Schommer2015-09-281-1/+1
| | | | | | | | | | | | If a user uses the #pragma use_section for functions the diab linker requires a separate debug_info section for each entry. This commit adds functionality to emulate this behavior.
| * Added support for the locations of stack allocated local variables.Bernhard Schommer2015-09-251-1/+2
| | | | | | | | | | This commit adds furher support for location information for local variables and starts with the implementation of the debug_loc section.
* | Use PowerPC 64 bits instructions (when available) for int<->FP conversions.Xavier Leroy2015-09-131-0/+8
|/ | | | | | Also: implement __builtin_isel on non-EREF platforms with a branch-free instruction sequence. Also: extend ./configure so that it recognizes "ppc64-" and "e5500-" platforms in addition to "ppc-".
* Name of stwcx. instruction should be printed Pstwcx_.Bernhard Schommer2015-09-101-1/+1
|
* Added builtin for isel.Bernhard Schommer2015-09-081-0/+1
| | | | | The builtin_isel function takes a _Bool as first argument and returns either the second or the third depending on the value of the _Bool.
* Added builtins for call frame and return address.Bernhard Schommer2015-09-071-1/+1
| | | | | | This builtins can be used to get the call frame address and the return address. To correctly compute the load address of the return address the allocframe is extended to contain the offset of the return address.
* Added builtin for the cmpb instruction.Bernhard Schommer2015-09-071-0/+1
|
* Fixed typo in AsmToJSON for instruction Pstfdu.Bernhard Schommer2015-09-041-1/+1
|
* Added json printing of Pbctr.Bernhard Schommer2015-09-031-1/+1
|
* Fixed minor typo in printing of the Plbzx instruction in AsmToJSON.Bernhard Schommer2015-09-031-1/+1
|
* Fixed minor typo in AsmToJSON.Bernhard Schommer2015-09-031-1/+1
|
* Added builtin for mbar instruction.Bernhard Schommer2015-09-031-0/+1
| | | | This commit adds a builtin function for the mbar instruction.
* New builtin for dcbz instruction.Bernhard Schommer2015-09-031-4/+5
| | | | | | This commit adds a builtin for the dcbz instructions. Additionally the dcbt,dcbtst,dcbtls and icbtls instruction are changed to their actually form all taking one additional register in Asm.v.
* Added builtin for the icbtls instruction.Bernhard Schommer2015-09-021-0/+1
| | | | This commit adds a builtin for the icbtls instruction.
* Print p_int_constant instead of p_int in AsmToJSON.Bernhard Schommer2015-09-021-5/+5
|
* Added builtin for dcbtlsBernhard Schommer2015-09-021-1/+2
| | | | | | THis commit adds a builtin function for the dcbtls instruction. Additionaly it changes the printing of the dcbt and dcbtst instruction to embedded mode and adds support for different address variants.
* Added the gcc builtin prefetch.Bernhard Schommer2015-09-011-0/+2
| | | | | | This commit implements the gcc __builtin_prefetch in a form with all arguments for the powerpc architecture. The resulting instructions are the dcbt and dcbtst instructions in Server Category.
* Adapt the PowerPC port to the new builtin representation.Xavier Leroy2015-08-211-3/+8
| | | | | | | __builtin_get_spr() and __builtin_set_spr() work, but horrible error message if the SPR argument is not a constant. powerpc/AsmToJSON.ml needs updating.