diff options
| author | Simon Atanasyan <simon@atanasyan.com> | 2019-03-13 13:09:30 +0000 |
|---|---|---|
| committer | Simon Atanasyan <simon@atanasyan.com> | 2019-03-13 13:09:30 +0000 |
| commit | b9d9e0be3cb732403e734fed79531920603d8f77 (patch) | |
| tree | 3f9a13892ac3b16a0b0f45bf80ae10963595a2e6 /llvm/test/CodeGen/Mips | |
| parent | 192df587d1996c53060bfa9f63514af445de3cca (diff) | |
| download | bcm5719-llvm-b9d9e0be3cb732403e734fed79531920603d8f77.tar.gz bcm5719-llvm-b9d9e0be3cb732403e734fed79531920603d8f77.zip | |
[mips] Map SW instruction to its microMIPS R6 variant
To provide mapping between standard and microMIPS R6 variants of the
`sw` command we have to rename SWSP_xxx commands from "sw" to "swsp".
Otherwise `tablegen` starts to show the error `Multiple matches found
for `SW'`. After that to restore printing SWSP command as `sw`, I add
an appropriate `MipsInstAlias` instance.
We also need to implement "size reduction" for microMIPS R6. But this
task is for separate patch. After that the `micromips-lwsp-swsp.ll` test
case will be extended.
Differential Revision: http://reviews.llvm.org/D59046
llvm-svn: 356045
Diffstat (limited to 'llvm/test/CodeGen/Mips')
| -rw-r--r-- | llvm/test/CodeGen/Mips/micromips-sw.ll | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Mips/micromips-sw.ll b/llvm/test/CodeGen/Mips/micromips-sw.ll new file mode 100644 index 00000000000..e10260b2b83 --- /dev/null +++ b/llvm/test/CodeGen/Mips/micromips-sw.ll @@ -0,0 +1,20 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc -mtriple=mips -mcpu=mips32r2 -mattr=+micromips \ +; RUN: -filetype=obj -o - %s | llvm-objdump -d - \ +; RUN: | FileCheck --check-prefix=MM2 %s +; RUN: llc -mtriple=mips -mcpu=mips32r6 -mattr=+micromips -verify-machineinstrs \ +; RUN: -filetype=obj -o - %s | llvm-objdump -d - \ +; RUN: | FileCheck --check-prefix=MM6 %s + +define void @fun(i32 %val) { +; MM2-LABEL: fun: +; MM2: cb e5 sw $ra, 20($sp) + +; MM6-LABEL: fun: +; MM6: fb fd 00 14 sw $ra, 20($sp) +entry: + call i32* @fun1() + ret void +} + +declare i32* @fun1() |

