summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/Mips
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix operand of SC instruction.Zoran Jovanovic2014-02-281-5/+5
| | | | llvm-svn: 202518
* [mips] Implement NaCl sandboxing of indirect jumps:Sasa Stankovic2014-02-282-0/+124
| | | | | | | | | * Align targets of indirect jumps to instruction bundle boundaries (in MI layer). * Add masking instructions before indirect jumps (in MC layer). Differential Revision: http://llvm-reviews.chandlerc.com/D2847 llvm-svn: 202479
* [mips] Make it impossible to have UnknownABI in CodeGen and Integrated ↵Daniel Sanders2014-02-203-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Assembler. Summary: This removes the need to coerce UnknownABI to the default ABI (O32 for MIPS32, N64 for MIPS64 [*]) in both MipsSubtarget and MipsAsmParser. Clang has been updated to disable both possible default ABI's before enabling the ABI it intends to use. [*] N64 being the default for MIPS64 is not actually correct. However N32 is not fully implemented/tested yet. Depends on: D2830 Reviewers: jacksprat, matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D2832 Differential Revision: http://llvm-reviews.chandlerc.com/D2846 llvm-svn: 201792
* [mips] Add explicit N32 and N64 tests to nabi-regs.s testDaniel Sanders2014-02-191-3/+7
| | | | llvm-svn: 201684
* [mips][msa] Add DLSA instruction.Matheus Almeida2014-02-101-0/+21
| | | | llvm-svn: 201081
* Changed comment.Sasa Stankovic2014-02-071-1/+1
| | | | llvm-svn: 200969
* [mips] Implement %hi(sym1 - sym2) and %lo(sym1 - sym2) expressionsPetar Jovanovic2014-02-041-11/+42
| | | | | | | | | | | Patch implements %hi(sym1 - sym2) and %lo(sym1 - sym2) expressions for MIPS by creating target expression class MipsMCExpr. Patch by Sasa Stankovic. Differential Revision: http://llvm-reviews.chandlerc.com/D2592 llvm-svn: 200783
* Remove another hasRawTextSupport.Rafael Espindola2014-01-312-34/+26
| | | | | | | | | To remove this one simply move the end of file logic from the asm printer to the target mc streamer. This removes the last call to hasRawTextSupport from lib/Target. llvm-svn: 200590
* [mips][msa] Add insert.d instruction.Matheus Almeida2014-01-311-0/+11
| | | | | | This instruction is only available on Mips64 cores that implement the MSA ASE. llvm-svn: 200543
* [mips][msa] Add fill.d instruction.Matheus Almeida2014-01-291-0/+11
| | | | | | | This instruction is only available on Mips64 cores that implement the MSA ASE. llvm-svn: 200400
* [mips][msa] Add copy_{u,s}.d.Matheus Almeida2014-01-291-0/+14
| | | | | | | These instructions are only available on Mips64 cores that implement the MSA ASE. llvm-svn: 200398
* [mips] Fix ELF header flags.Matheus Almeida2014-01-281-2/+22
| | | | | | | As opposed to GCC/GAS the default ABI for Mips64 is n64. Compatibility bit should be set if o32 ABI is used when targeting Mips64. llvm-svn: 200332
* Implement the missing bits corresponding to .mips_hack_elf_flags.Rafael Espindola2014-01-266-11/+51
| | | | | | | | | | | | These were: * noreorder handling on the target object streamer and asm parser. * setting the initial flag bits based on the enabled features. * setting the elf header flag for micromips It is *really* depressing I am the one doing this instead of someone at mips actually taking the time to understand the infrastructure. llvm-svn: 200138
* Move tests that just use llc from test/MC/Mips to test/MC/Codegen.Rafael Espindola2014-01-264-16533/+0
| | | | | | This is an expanded version of r200064. llvm-svn: 200115
* This reverts commit r200064 and r200051.Rafael Espindola2014-01-253-13/+88
| | | | | | | | | | | | | | | | | | | r200064 depends on r200051. r200051 is broken: I tries to replace .mips_hack_elf_flags, which is a good thing, but what it replaces it with is even worse. The new emitMipsELFFlags it adds corresponds to no assembly directive, is not marked as a hack and is not even printed to the .s file. The patch also introduces more uses of hasRawTextSupport. The correct way to remove .mips_hack_elf_flags is to have the mips target streamer handle the default flags (and command line options). That way the same code path is used for asm and obj. The streamer interface should *really* correspond to what is printed in the .s file. llvm-svn: 200078
* [Mips] Move 2 test cases from MC to CodeGen.Jack Carter2014-01-252-134/+0
| | | | | | No code changes. Just reassignment of test case files. llvm-svn: 200064
* [Mips] TargetStreamer ELF flag Support for default and commandline options.Jack Carter2014-01-253-34/+93
| | | | | | | | | | | | | | | This patch uses a common MipsTargetSteamer interface for both MipsAsmPrinter and MipsAsmParser for recording default and commandline driven directives that affect ELF header flags. It has been noted that the .ll tests affected by this patch belong in test/Codegen/Mips. I will move them in a separate patch. Also, a number of directives do not get expressed by AsmPrinter in the resultant .s assembly such as setting the correct ASI. I have noted this in the tests and they will be addressed in later patches. llvm-svn: 200051
* [Mips] TargetStreamer Support for .set mips16.Jack Carter2014-01-221-1/+4
| | | | | | | | | | This patch updates .set mips16 support which affects the ELF ABI and its flags. In addition the patch uses a common interface for both the MipsTargetSteamer and MipsObjectStreamer that the assembler uses for both ELF and ASCII output for these directives. llvm-svn: 199851
* Added support for LWU microMIPS instruction.Zoran Jovanovic2014-01-151-0/+3
| | | | llvm-svn: 199315
* Only mark functions as micromips.Rafael Espindola2014-01-151-0/+9
| | | | | | | | | The GNU as behavior is a bit different and very strange. It will mark any label that contains an instruction. We can implement that, but using the type looks more natural since gas will not mark a function if a .word is used to output the instructions! llvm-svn: 199287
* Test case micromips-load-effective-address.s renamed to ↵Zoran Jovanovic2014-01-141-29/+0
| | | | | | micromips-load-effective-address.ll and moved to test/CodeGen/Mips. llvm-svn: 199221
* Replace .mips_hack_stocg with ".set micromips" and ".set nomicromips".Rafael Espindola2014-01-142-12/+17
| | | | | | | This matches what gnu as does and implementing this is easier than arguing about it. llvm-svn: 199181
* [Mips] TargetStreamer Support for .abicalls and .set pic0.Jack Carter2014-01-064-2/+60
| | | | | | | | | | This patch adds .abicalls and .set pic0 support which affects the ELF ABI and its flags. In addition the patch uses a common interface for both the MipsTargetSteamer and MipsObjectStreamer that both the integrated and standalone assemblers will use for the output for these directives. llvm-svn: 198646
* Support for microMIPS load effective address.Zoran Jovanovic2013-12-251-0/+29
| | | | llvm-svn: 198010
* Support for microMIPS FPU instructions 2.Zoran Jovanovic2013-12-251-2/+62
| | | | llvm-svn: 198009
* Support for microMIPS FPU instructions 1.Zoran Jovanovic2013-12-201-0/+133
| | | | llvm-svn: 197815
* Support for microMIPS control instructions.Zoran Jovanovic2013-12-191-0/+57
| | | | llvm-svn: 197696
* Support for microMIPS LL and SC instructions.Zoran Jovanovic2013-12-191-2/+10
| | | | llvm-svn: 197692
* Support for microMIPS TLS relocations.Zoran Jovanovic2013-12-191-0/+12
| | | | llvm-svn: 197685
* [mips][msa] Update format of RUN lines for every MSA MC test.Matheus Almeida2013-12-1816-31/+61
| | | | | | | | | 1. The arch directive now appears before the cpu directive 2. Long run lines were split across multiple lines No functional changes. llvm-svn: 197588
* [mips][msa] Remove unneeded triple directive in MSA MC tests.Matheus Almeida2013-12-1816-31/+31
| | | | | | No functional changes. llvm-svn: 197559
* [mips] Fix off by one issue when applying a fixup.Matheus Almeida2013-12-172-0/+20
| | | | | | | The branch offset for a R_MIPS_PC16 relocation is indeed a 16-bit signed immediate. llvm-svn: 197506
* [mips] Add checks for alignment and maximum displacements for most of theMatheus Almeida2013-12-134-0/+654
| | | | | | | | | | | branch instructions for mips and micromips instruction sets thus avoiding the situation of generating branches to undesired locations if offsets cannot be encoded. This patch also checks if a fixup cannot be applied and returns a fatal error if that's the case. llvm-svn: 197223
* Method parseSetAssignment treats every operand with '$' sign as register and ↵Vladimir Medic2013-12-091-3/+5
| | | | | | | | | the parsing is directed to set alias for register. This will result in errors reported when expressions containing label references are parsed(for example long jumps) As we can't make a complete solution now it has been decided to enable .set directive to handle long jump expressions. This will cause parser to report errors when parsing integer based register assignments, for example: .set r3, will be reported as error. Still, the need for expressions is higher priority as the integer based register assignments are Mips specific and can be avoided using register names. llvm-svn: 196773
* [mips][msa] Fix issue with immediate fields of LD/ST instructionsMatheus Almeida2013-12-051-26/+80
| | | | | | | | | not being correctly encoded/decoded. In more detail, immediate fields of LD/ST instructions should be divided/multiplied by the size of the data format before encoding and after decoding, respectively. llvm-svn: 196494
* Test case for issue with microMIPS long branch.Zoran Jovanovic2013-11-301-0/+16437
| | | | llvm-svn: 195976
* Revert revision 195965.Zoran Jovanovic2013-11-291-16437/+0
| | | | llvm-svn: 195967
* Fixed issue with microMIPS long branch.Zoran Jovanovic2013-11-291-0/+16437
| | | | llvm-svn: 195965
* reverts 195057 per requestJack Carter2013-11-194-19/+13
| | | | llvm-svn: 195152
* [Mips] Support for MicroMips STO refactoring.Jack Carter2013-11-194-13/+19
| | | | | | | | | | | | | | | | No true functional changes. Change the "hack" name of emitMipsHackSTOCG to emitSymSTO. Remove demonstration code in AsmParser for emitMipsHackSTOCG and emitMipsHackELFFlags. The STO field is in an ELF symbol and is not an explicit directive. That said, we are missing the compliment call in AsmParser and that will need to be addressed soon. XFAIL dummy tests for emitMipsHackELFFlags and emitMipsHackELFFlags. These will built out with following patches. llvm-svn: 195067
* [mips][msa] Update encoding of bnz.v (typo).Matheus Almeida2013-11-181-2/+2
| | | | | | Note that there's no hardware yet that relies on that encoding. llvm-svn: 195006
* [mips][msa] Fix immediate value of LSA instruction as it was being wrongly ↵Matheus Almeida2013-11-181-1/+10
| | | | | | | | | encoded. The immediate field should be encoded as "imm - 1" as the CPU always adds one to that field. llvm-svn: 195004
* Use instr mapping for microMIPS in llvm-mc.Zoran Jovanovic2013-11-151-12/+12
| | | | llvm-svn: 194792
* Fix bug in .gpword directive parsing.Vladimir Medic2013-11-131-1/+2
| | | | llvm-svn: 194570
* Support for microMIPS trap instruction with immediate operands.Zoran Jovanovic2013-11-131-0/+18
| | | | llvm-svn: 194569
* This patch fixes a bug in floating point operands parsing, when instruction ↵Vladimir Medic2013-11-131-1/+3
| | | | | | alias uses default register operand. llvm-svn: 194562
* Test for microMIPS trap instructions.Zoran Jovanovic2013-11-081-0/+32
| | | | llvm-svn: 194258
* [mips][msa] Update encoding of LDI instruction.Matheus Almeida2013-11-081-4/+4
| | | | | | The encoding was updated in MSA r1.07. llvm-svn: 194255
* Implement gpword directive for mips, test case added. Stype changes using ↵Vladimir Medic2013-11-061-0/+1
| | | | | | clang-format are also included. llvm-svn: 194145
* Support for microMIPS branch instructions.Zoran Jovanovic2013-11-042-0/+134
| | | | llvm-svn: 193992
OpenPOWER on IntegriCloud