|  | # RUN: llc -mtriple powerpc64le-unknown-linux-gnu -mcpu=pwr8 -x mir < %s \ | 
|  | # RUN:   -verify-machineinstrs -start-before=ppc-mi-peepholes | FileCheck %s | 
|  |  | 
|  | --- | 
|  | name: remove_frsp | 
|  | alignment:       16 | 
|  | tracksRegLiveness: true | 
|  | body:             | | 
|  | bb.0.entry: | 
|  | liveins: $x3, $x4 | 
|  |  | 
|  | %1:g8rc = COPY $x4 | 
|  | %0:g8rc_and_g8rc_nox0 = COPY $x3 | 
|  | %2:g8rc = RLDICR %1, 2, 61 | 
|  | %3:f8rc, %4:g8rc_and_g8rc_nox0 = LFSUX %0, killed %2 | 
|  | %5:f4rc = FRSP killed %3, implicit $rm | 
|  | %22:vslrc = SUBREG_TO_REG 1, %5, %subreg.sub_64 | 
|  | %7:g8rc = LI8 8 | 
|  | %8:vssrc = XFLOADf32 %4, killed %7 | 
|  | %23:vslrc = SUBREG_TO_REG 1, %8, %subreg.sub_64 | 
|  | %10:vsrc = XXPERMDI %23, %22, 0 | 
|  | %11:vrrc = XVCVDPSP killed %10, implicit $rm | 
|  | $v2 = COPY %11 | 
|  | BLR8 implicit $lr8, implicit $rm, implicit $v2 | 
|  | ... | 
|  | # CHECK-LABEL: remove_frsp | 
|  | # CHECK: sldi 4, 4, 2 | 
|  | # CHECK-NEXT: lfsux 0, 3, 4 | 
|  | # CHECK-NOT: frsp | 
|  | # CHECK-NEXT: lfs 1, 8(3) | 
|  | # CHECK-NEXT: xxmrghd	0, 1, 0 | 
|  | # CHECK-NEXT: xvcvdpsp 34, 0 | 
|  | # CHECK-NEXT: blr | 
|  |  | 
|  | --- | 
|  | name: remove_xsrsp | 
|  | tracksRegLiveness: true | 
|  | body:             | | 
|  | bb.0.entry: | 
|  | liveins: $x3, $x4 | 
|  |  | 
|  | %1:g8rc = COPY $x4 | 
|  | %0:g8rc_and_g8rc_nox0 = COPY $x3 | 
|  | %2:g8rc = RLDICR %1, 2, 61 | 
|  | %3:f8rc, %4:g8rc_and_g8rc_nox0 = LFSUX %0, killed %2 | 
|  | %5:vssrc = XSRSP killed %3 | 
|  | %22:vslrc = SUBREG_TO_REG 1, %5, %subreg.sub_64 | 
|  | %7:g8rc = LI8 8 | 
|  | %8:vssrc = XFLOADf32 %4, killed %7 | 
|  | %23:vslrc = SUBREG_TO_REG 1, %8, %subreg.sub_64 | 
|  | %10:vsrc = XXPERMDI %23, %22, 0 | 
|  | %11:vrrc = XVCVDPSP killed %10, implicit $rm | 
|  | $v2 = COPY %11 | 
|  | BLR8 implicit $lr8, implicit $rm, implicit $v2 | 
|  | ... | 
|  | # CHECK-LABEL: remove_xsrsp | 
|  | # CHECK: sldi 4, 4, 2 | 
|  | # CHECK-NEXT: lfsux 0, 3, 4 | 
|  | # CHECK-NOT: xsrsp | 
|  | # CHECK-NEXT: lfs 1, 8(3) | 
|  | # CHECK-NEXT: xxmrghd	0, 1, 0 | 
|  | # CHECK-NEXT: xvcvdpsp 34, 0 | 
|  | # CHECK-NEXT: blr |