[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / PowerPC / mi-simplify-code.mir
blob0cfeb944a5dbc54537055cc0c981667de3b4ecf7
1 # RUN: llc -mtriple powerpc64le-unknown-linux-gnu -mcpu=pwr8 -x mir < %s \
2 # RUN:   -verify-machineinstrs -start-before=ppc-mi-peepholes | FileCheck %s
4 ---
5 name: remove_frsp
6 alignment:       16
7 tracksRegLiveness: true
8 body:             |
9   bb.0.entry:
10     liveins: $x3, $x4
12     %1:g8rc = COPY $x4
13     %0:g8rc_and_g8rc_nox0 = COPY $x3
14     %2:g8rc = RLDICR %1, 2, 61
15     %3:f8rc, %4:g8rc_and_g8rc_nox0 = LFSUX %0, killed %2
16     %5:f4rc = FRSP killed %3, implicit $rm
17     %22:vslrc = SUBREG_TO_REG 1, %5, %subreg.sub_64
18     %7:g8rc = LI8 8
19     %8:vssrc = XFLOADf32 %4, killed %7
20     %23:vslrc = SUBREG_TO_REG 1, %8, %subreg.sub_64
21     %10:vsrc = XXPERMDI %23, %22, 0
22     %11:vrrc = XVCVDPSP killed %10, implicit $rm
23     $v2 = COPY %11
24     BLR8 implicit $lr8, implicit $rm, implicit $v2
25 ...
26 # CHECK-LABEL: remove_frsp
27 # CHECK: sldi 4, 4, 2
28 # CHECK-NEXT: lfsux 0, 3, 4
29 # CHECK-NOT: frsp
30 # CHECK-NEXT: lfs 1, 8(3)
31 # CHECK-NEXT: xxmrghd   0, 1, 0
32 # CHECK-NEXT: xvcvdpsp 34, 0
33 # CHECK-NEXT: blr
35 ---
36 name: remove_xsrsp
37 tracksRegLiveness: true
38 body:             |
39   bb.0.entry:
40     liveins: $x3, $x4
42     %1:g8rc = COPY $x4
43     %0:g8rc_and_g8rc_nox0 = COPY $x3
44     %2:g8rc = RLDICR %1, 2, 61
45     %3:f8rc, %4:g8rc_and_g8rc_nox0 = LFSUX %0, killed %2
46     %5:vssrc = XSRSP killed %3
47     %22:vslrc = SUBREG_TO_REG 1, %5, %subreg.sub_64
48     %7:g8rc = LI8 8
49     %8:vssrc = XFLOADf32 %4, killed %7
50     %23:vslrc = SUBREG_TO_REG 1, %8, %subreg.sub_64
51     %10:vsrc = XXPERMDI %23, %22, 0
52     %11:vrrc = XVCVDPSP killed %10, implicit $rm
53     $v2 = COPY %11
54     BLR8 implicit $lr8, implicit $rm, implicit $v2
55 ...
56 # CHECK-LABEL: remove_xsrsp
57 # CHECK: sldi 4, 4, 2
58 # CHECK-NEXT: lfsux 0, 3, 4
59 # CHECK-NOT: xsrsp
60 # CHECK-NEXT: lfs 1, 8(3)
61 # CHECK-NEXT: xxmrghd   0, 1, 0
62 # CHECK-NEXT: xvcvdpsp 34, 0
63 # CHECK-NEXT: blr