1 # RUN: llc -mtriple powerpc64le-unknown-linux-gnu -mcpu=pwr8 -x mir < %s \
2 # RUN: -verify-machineinstrs -start-before=ppc-mi-peepholes | FileCheck %s
7 tracksRegLiveness: true
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
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
24 BLR8 implicit $lr8, implicit $rm, implicit $v2
26 # CHECK-LABEL: remove_frsp
28 # CHECK-NEXT: lfsux 0, 3, 4
30 # CHECK-NEXT: lfs 1, 8(3)
31 # CHECK-NEXT: xxmrghd 0, 1, 0
32 # CHECK-NEXT: xvcvdpsp 34, 0
37 tracksRegLiveness: true
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
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
54 BLR8 implicit $lr8, implicit $rm, implicit $v2
56 # CHECK-LABEL: remove_xsrsp
58 # CHECK-NEXT: lfsux 0, 3, 4
60 # CHECK-NEXT: lfs 1, 8(3)
61 # CHECK-NEXT: xxmrghd 0, 1, 0
62 # CHECK-NEXT: xvcvdpsp 34, 0