diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2009-08-02 17:39:17 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2009-08-02 17:39:17 +0000 |
commit | 63cc527fbce3d1e4b47b687c404b1777fa15ffe5 (patch) | |
tree | 0cd6b5fa5f13421e7b72aff823868b7c7a2072a6 /lib/Target/Blackfin/README.txt | |
parent | 73b7bb7b07fdf63f699698d4027dd981fd46ce80 (diff) | |
download | external_llvm-63cc527fbce3d1e4b47b687c404b1777fa15ffe5.zip external_llvm-63cc527fbce3d1e4b47b687c404b1777fa15ffe5.tar.gz external_llvm-63cc527fbce3d1e4b47b687c404b1777fa15ffe5.tar.bz2 |
Inline assembly support for Blackfin.
We use the same constraints as GCC, including those that are slightly insane for inline assembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77899 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Blackfin/README.txt')
-rw-r--r-- | lib/Target/Blackfin/README.txt | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/lib/Target/Blackfin/README.txt b/lib/Target/Blackfin/README.txt index 4631c12..67c1e51 100644 --- a/lib/Target/Blackfin/README.txt +++ b/lib/Target/Blackfin/README.txt @@ -41,6 +41,56 @@ should keep track of: It's a hack combining two instructions by concatenation. * Inline Assembly + +These are the GCC constraints from bfin/constraints.md: + +| Code | Register class | LLVM | +|-------+-------------------------------------------+------| +| a | P | C | +| d | D | C | +| z | Call clobbered P (P0, P1, P2) | X | +| D | EvenD | X | +| W | OddD | X | +| e | Accu | C | +| A | A0 | S | +| B | A1 | S | +| b | I | C | +| v | B | C | +| f | M | C | +| c | Circular I, B, L | X | +| C | JustCC | S | +| t | LoopTop | X | +| u | LoopBottom | X | +| k | LoopCount | X | +| x | GR | C | +| y | RET*, ASTAT, SEQSTAT, USP | X | +| w | ALL | C | +| Z | The FD-PIC GOT pointer (P3) | S | +| Y | The FD-PIC function pointer register (P1) | S | +| q0-q7 | R0-R7 individually | | +| qA | P0 | | +|-------+-------------------------------------------+------| +| Code | Constant | | +|-------+-------------------------------------------+------| +| J | 1<<N, N<32 | | +| Ks3 | imm3 | | +| Ku3 | uimm3 | | +| Ks4 | imm4 | | +| Ku4 | uimm4 | | +| Ks5 | imm5 | | +| Ku5 | uimm5 | | +| Ks7 | imm7 | | +| KN7 | -imm7 | | +| Ksh | imm16 | | +| Kuh | uimm16 | | +| L | ~(1<<N) | | +| M1 | 0xff | | +| M2 | 0xffff | | +| P0-P4 | 0-4 | | +| PA | Macflag, not M | | +| PB | Macflag, only M | | +| Q | Symbol | | + ** TODO Support all register classes * DAG combiner ** Create test case for each Illegal SETCC case |