xref: /llvm-project/llvm/test/CodeGen/LoongArch/cfr-copy.mir (revision 271087e3a0875672b26c185a28b3552d5600d2fb)
1# NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 3
2# RUN: llc --mtriple=loongarch64 --mattr=+d %s -o - | FileCheck %s
3
4## Check the PseudoCopyCFR instruction expand.
5
6--- |
7  target datalayout = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
8  target triple = "loongarch64"
9
10  define void @test() {
11  ; CHECK-LABEL: test:
12  ; CHECK:       # %bb.0:
13  ; CHECK-NEXT:    fcmp.caf.s $fcc1, $fa0, $fa0
14  ; CHECK-NEXT:    bceqz $fcc0, .LBB0_2
15  ; CHECK-NEXT:  # %bb.1:
16  ; CHECK-NEXT:    fcmp.cueq.s $fcc1, $fa0, $fa0
17  ; CHECK-NEXT:  .LBB0_2:
18  ; CHECK-NEXT:    movcf2gr $a0, $fcc1
19  ; CHECK-NEXT:    ret
20    ret void
21  }
22...
23---
24name: test
25tracksRegLiveness: true
26body:             |
27  bb.0:
28    liveins: $fcc0
29
30    $fcc1 = COPY $fcc0
31    $r4 = COPY $fcc1
32    PseudoRET implicit killed $r4
33
34...
35