aboutsummaryrefslogtreecommitdiff
path: root/third_party/llvm/llvm/test/CodeGen/RISCV/rv32-merge-non-arg-reg.mir
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/llvm/llvm/test/CodeGen/RISCV/rv32-merge-non-arg-reg.mir')
-rw-r--r--third_party/llvm/llvm/test/CodeGen/RISCV/rv32-merge-non-arg-reg.mir50
1 files changed, 50 insertions, 0 deletions
diff --git a/third_party/llvm/llvm/test/CodeGen/RISCV/rv32-merge-non-arg-reg.mir b/third_party/llvm/llvm/test/CodeGen/RISCV/rv32-merge-non-arg-reg.mir
new file mode 100644
index 0000000..ab3de8c
--- /dev/null
+++ b/third_party/llvm/llvm/test/CodeGen/RISCV/rv32-merge-non-arg-reg.mir
@@ -0,0 +1,50 @@
+# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 6
+# RUN: llc -mtriple=riscv32 -mattr=+zdinx -run-pass=postrapseudos,riscv-move-merge %s -o - | FileCheck %s --check-prefix=ZDINX
+# RUN: llc -mtriple=riscv32 -mattr=+experimental-p -run-pass=postrapseudos,riscv-move-merge %s -o - | FileCheck %s --check-prefix=P-EXT
+
+...
+---
+name: merge_copy_non_arg_reg
+tracksRegLiveness: true
+body: |
+ bb.0:
+ liveins: $x28, $x29
+ ; ZDINX-LABEL: name: merge_copy_non_arg_reg
+ ; ZDINX: liveins: $x28, $x29
+ ; ZDINX-NEXT: {{ $}}
+ ; ZDINX-NEXT: $x6_x7 = FSGNJ_D_IN32X $x28_x29, $x28_x29
+ ; ZDINX-NEXT: PseudoRET implicit $x6
+ ;
+ ; P-EXT-LABEL: name: merge_copy_non_arg_reg
+ ; P-EXT: liveins: $x28, $x29
+ ; P-EXT-NEXT: {{ $}}
+ ; P-EXT-NEXT: $x6_x7 = PADD_DW $x28_x29, $x0_pair
+ ; P-EXT-NEXT: PseudoRET implicit $x6
+ $x6 = COPY $x28
+ $x7 = COPY $x29
+ PseudoRET implicit $x6
+...
+---
+name: merge_copy_non_arg_reg_with_intervening_unrelated_copy
+tracksRegLiveness: true
+body: |
+ bb.0:
+ liveins: $x12, $x28, $x29
+ ; ZDINX-LABEL: name: merge_copy_non_arg_reg_with_intervening_unrelated_copy
+ ; ZDINX: liveins: $x12, $x28, $x29
+ ; ZDINX-NEXT: {{ $}}
+ ; ZDINX-NEXT: $x6_x7 = FSGNJ_D_IN32X $x28_x29, $x28_x29
+ ; ZDINX-NEXT: $x18 = ADDI $x12, 0
+ ; ZDINX-NEXT: PseudoRET implicit $x6
+ ;
+ ; P-EXT-LABEL: name: merge_copy_non_arg_reg_with_intervening_unrelated_copy
+ ; P-EXT: liveins: $x12, $x28, $x29
+ ; P-EXT-NEXT: {{ $}}
+ ; P-EXT-NEXT: $x6_x7 = PADD_DW $x28_x29, $x0_pair
+ ; P-EXT-NEXT: $x18 = ADDI $x12, 0
+ ; P-EXT-NEXT: PseudoRET implicit $x6
+ $x6 = COPY $x28
+ $x18 = COPY $x12
+ $x7 = COPY $x29
+ PseudoRET implicit $x6
+...