summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/mips-inline-asm-modifiers.c
Commit message (Collapse)AuthorAgeFilesLines
* [mips] Always clobber $1 for MIPS inline asm.Toma Tabacu2014-12-171-3/+3
| | | | | | | | | | | | | | | | | | | | Summary: Because GCC doesn't use $1 for code generation, inline assembly code can use $1 without having to add it to the clobbers list. LLVM, on the other hand, does not shy away from using $1, and this can cause conflicts with inline assembly which assumes GCC-like code generation. A solution to this problem is to make Clang automatically clobber $1 for all MIPS inline assembly. This is not the optimal solution, but it seems like a necessary compromise, for now. Reviewers: dsanders Reviewed By: dsanders Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D6638 llvm-svn: 224428
* [mips][msa] Enable inlinse assembly for MSA.Daniel Sanders2013-11-121-0/+7
| | | | | | | | | | | | | | Like GCC, this re-uses the 'f' constraint and a new 'w' print-modifier: asm ("ldi.w %w0, 1", "=f"(result)); Unlike GCC, the 'w' print-modifer is not _required_ to produce the intended output. This is a consequence of differences in the internal handling of the registers in each compiler. To be source-compatible between the compilers, users must use the 'w' print-modifier. MSA registers (including control registers) are supported in clobber lists. llvm-svn: 194476
* Make these tests more robust against IRgen choosing to emit more named metadata.Richard Smith2013-07-141-2/+2
| | | | llvm-svn: 186279
* Remove REQUIRES now that r179237 fixed the real problem.Rafael Espindola2013-04-121-1/+0
| | | | llvm-svn: 179349
* get rid of stdio.h include in testcaseAdrian Prantl2013-04-101-1/+1
| | | | llvm-svn: 179237
* add mips target requirement to testcaseAdrian Prantl2013-04-101-0/+1
| | | | llvm-svn: 179236
* Mips specific inline asm memory operand modifier test caseJack Carter2013-04-101-0/+35
These changes are based on commit responses for r179135. llvm-svn: 179229
OpenPOWER on IntegriCloud