1*c7be0679SYi-Hong Lyu# RUN: llc -O3 -mtriple=powerpc64le-unknown-linux-gnu -start-after ppc-mi-peepholes -ppc-late-peephole -ppc-asm-full-reg-names -verify-machineinstrs %s -o - | FileCheck %s 2*c7be0679SYi-Hong Lyu 3*c7be0679SYi-Hong Lyu--- 4*c7be0679SYi-Hong Lyuname: special_right_shift32_0 5*c7be0679SYi-Hong Lyualignment: 2 6*c7be0679SYi-Hong LyutracksRegLiveness: true 7*c7be0679SYi-Hong Lyuregisters: 8*c7be0679SYi-Hong Lyu - { id: 0, class: gprc } 9*c7be0679SYi-Hong Lyu - { id: 1, class: gprc } 10*c7be0679SYi-Hong Lyu - { id: 2, class: gprc } 11*c7be0679SYi-Hong Lyuliveins: 12*c7be0679SYi-Hong Lyu - { reg: '$r3', virtual-reg: '%0' } 13*c7be0679SYi-Hong LyumachineFunctionInfo: {} 14*c7be0679SYi-Hong Lyubody: | 15*c7be0679SYi-Hong Lyu bb.0.entry: 16*c7be0679SYi-Hong Lyu liveins: $r3 17*c7be0679SYi-Hong Lyu 18*c7be0679SYi-Hong Lyu ; Ensure we do not attempt to transform this into srwi $r3, $r3, 0 in the 19*c7be0679SYi-Hong Lyu ; form specified by ISA 3.0b (rlwinm $r3, $r3, 32 - 0, 0, 31) 20*c7be0679SYi-Hong Lyu 21*c7be0679SYi-Hong Lyu ; CHECK-LABEL: special_right_shift32_0: 22*c7be0679SYi-Hong Lyu ; CHECK: slwi r[[#]], r[[#]], 0 23*c7be0679SYi-Hong Lyu 24*c7be0679SYi-Hong Lyu %0:gprc = COPY killed $r3 25*c7be0679SYi-Hong Lyu %1:gprc = LI 0 26*c7be0679SYi-Hong Lyu %2:gprc = SRW killed %0, killed %1 27*c7be0679SYi-Hong Lyu $r3 = COPY killed %2 28*c7be0679SYi-Hong Lyu BLR implicit $lr, implicit $rm, implicit killed $r3 29*c7be0679SYi-Hong Lyu 30*c7be0679SYi-Hong Lyu... 31*c7be0679SYi-Hong Lyu--- 32*c7be0679SYi-Hong Lyuname: special_right_shift64_0 33*c7be0679SYi-Hong Lyualignment: 2 34*c7be0679SYi-Hong LyutracksRegLiveness: true 35*c7be0679SYi-Hong Lyuregisters: 36*c7be0679SYi-Hong Lyu - { id: 0, class: g8rc } 37*c7be0679SYi-Hong Lyu - { id: 1, class: gprc } 38*c7be0679SYi-Hong Lyu - { id: 2, class: g8rc } 39*c7be0679SYi-Hong Lyuliveins: 40*c7be0679SYi-Hong Lyu - { reg: '$x3', virtual-reg: '%0' } 41*c7be0679SYi-Hong LyumachineFunctionInfo: {} 42*c7be0679SYi-Hong Lyubody: | 43*c7be0679SYi-Hong Lyu bb.0.entry: 44*c7be0679SYi-Hong Lyu liveins: $x3 45*c7be0679SYi-Hong Lyu 46*c7be0679SYi-Hong Lyu ; Ensure we do not attempt to transform this into srdi $r3, $r3, 0 in the 47*c7be0679SYi-Hong Lyu ; form specified by ISA 3.0b (rldicl $r3, $r3, 64 - 0, 0) 48*c7be0679SYi-Hong Lyu 49*c7be0679SYi-Hong Lyu ; CHECK-LABEL: special_right_shift64_0: 50*c7be0679SYi-Hong Lyu ; CHECK: rotldi r[[#]], r[[#]], 0 51*c7be0679SYi-Hong Lyu 52*c7be0679SYi-Hong Lyu %0:g8rc = COPY killed $x3 53*c7be0679SYi-Hong Lyu %1:gprc = LI 0 54*c7be0679SYi-Hong Lyu %2:g8rc = SRD killed %0, killed %1 55*c7be0679SYi-Hong Lyu $x3 = COPY killed %2 56*c7be0679SYi-Hong Lyu BLR8 implicit $lr8, implicit $rm, implicit killed $x3 57*c7be0679SYi-Hong Lyu 58*c7be0679SYi-Hong Lyu... 59