1d8b51789SQiu Chaofan# RUN: llc -mtriple powerpc64le-unknown-linux-gnu -mcpu=pwr8 -x mir < %s \ 2d8b51789SQiu Chaofan# RUN: -verify-machineinstrs -start-before=ppc-mi-peepholes | FileCheck %s 3d8b51789SQiu Chaofan 4d8b51789SQiu Chaofan--- 5d8b51789SQiu Chaofanname: remove_frsp 6d8b51789SQiu Chaofanalignment: 16 7d8b51789SQiu ChaofantracksRegLiveness: true 8d8b51789SQiu Chaofanbody: | 9d8b51789SQiu Chaofan bb.0.entry: 10d8b51789SQiu Chaofan liveins: $x3, $x4 11d8b51789SQiu Chaofan 12d8b51789SQiu Chaofan %1:g8rc = COPY $x4 13d8b51789SQiu Chaofan %0:g8rc_and_g8rc_nox0 = COPY $x3 14d8b51789SQiu Chaofan %2:g8rc = RLDICR %1, 2, 61 15d8b51789SQiu Chaofan %3:f8rc, %4:g8rc_and_g8rc_nox0 = LFSUX %0, killed %2 16d8b51789SQiu Chaofan %5:f4rc = FRSP killed %3, implicit $rm 17d8b51789SQiu Chaofan %22:vslrc = SUBREG_TO_REG 1, %5, %subreg.sub_64 18d8b51789SQiu Chaofan %7:g8rc = LI8 8 19d8b51789SQiu Chaofan %8:vssrc = XFLOADf32 %4, killed %7 20d8b51789SQiu Chaofan %23:vslrc = SUBREG_TO_REG 1, %8, %subreg.sub_64 21d8b51789SQiu Chaofan %10:vsrc = XXPERMDI %23, %22, 0 22d8b51789SQiu Chaofan %11:vrrc = XVCVDPSP killed %10, implicit $rm 23d8b51789SQiu Chaofan $v2 = COPY %11 24d8b51789SQiu Chaofan BLR8 implicit $lr8, implicit $rm, implicit $v2 25d8b51789SQiu Chaofan... 26d8b51789SQiu Chaofan# CHECK-LABEL: remove_frsp 27d8b51789SQiu Chaofan# CHECK: sldi 4, 4, 2 28d8b51789SQiu Chaofan# CHECK-NEXT: lfsux 0, 3, 4 29d8b51789SQiu Chaofan# CHECK-NOT: frsp 30d8b51789SQiu Chaofan# CHECK-NEXT: lfs 1, 8(3) 31d8b51789SQiu Chaofan# CHECK-NEXT: xxmrghd 0, 1, 0 32d8b51789SQiu Chaofan# CHECK-NEXT: xvcvdpsp 34, 0 33d8b51789SQiu Chaofan# CHECK-NEXT: blr 34d8b51789SQiu Chaofan 35d8b51789SQiu Chaofan--- 36d8b51789SQiu Chaofanname: remove_xsrsp 37d8b51789SQiu ChaofantracksRegLiveness: true 38d8b51789SQiu Chaofanbody: | 39d8b51789SQiu Chaofan bb.0.entry: 40d8b51789SQiu Chaofan liveins: $x3, $x4 41d8b51789SQiu Chaofan 42d8b51789SQiu Chaofan %1:g8rc = COPY $x4 43d8b51789SQiu Chaofan %0:g8rc_and_g8rc_nox0 = COPY $x3 44d8b51789SQiu Chaofan %2:g8rc = RLDICR %1, 2, 61 45d8b51789SQiu Chaofan %3:f8rc, %4:g8rc_and_g8rc_nox0 = LFSUX %0, killed %2 46d8b51789SQiu Chaofan %5:vssrc = XSRSP killed %3 47d8b51789SQiu Chaofan %22:vslrc = SUBREG_TO_REG 1, %5, %subreg.sub_64 48d8b51789SQiu Chaofan %7:g8rc = LI8 8 49d8b51789SQiu Chaofan %8:vssrc = XFLOADf32 %4, killed %7 50d8b51789SQiu Chaofan %23:vslrc = SUBREG_TO_REG 1, %8, %subreg.sub_64 51d8b51789SQiu Chaofan %10:vsrc = XXPERMDI %23, %22, 0 52d8b51789SQiu Chaofan %11:vrrc = XVCVDPSP killed %10, implicit $rm 53d8b51789SQiu Chaofan $v2 = COPY %11 54d8b51789SQiu Chaofan BLR8 implicit $lr8, implicit $rm, implicit $v2 55d8b51789SQiu Chaofan... 56d8b51789SQiu Chaofan# CHECK-LABEL: remove_xsrsp 57d8b51789SQiu Chaofan# CHECK: sldi 4, 4, 2 58d8b51789SQiu Chaofan# CHECK-NEXT: lfsux 0, 3, 4 59*71f1ab53SQiu Chaofan# CHECK-NOT: xsrsp 60d8b51789SQiu Chaofan# CHECK-NEXT: lfs 1, 8(3) 61d8b51789SQiu Chaofan# CHECK-NEXT: xxmrghd 0, 1, 0 62d8b51789SQiu Chaofan# CHECK-NEXT: xvcvdpsp 34, 0 63d8b51789SQiu Chaofan# CHECK-NEXT: blr 64