summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/Mips
diff options
context:
space:
mode:
authorSimon Atanasyan <simon@atanasyan.com>2019-03-13 13:09:30 +0000
committerSimon Atanasyan <simon@atanasyan.com>2019-03-13 13:09:30 +0000
commitb9d9e0be3cb732403e734fed79531920603d8f77 (patch)
tree3f9a13892ac3b16a0b0f45bf80ae10963595a2e6 /llvm/test/CodeGen/Mips
parent192df587d1996c53060bfa9f63514af445de3cca (diff)
downloadbcm5719-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.ll20
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()
OpenPOWER on IntegriCloud