brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.8 KiB · 729895e Raw
204 lines · plain
1# RUN: llc -ppc-asm-full-reg-names -mtriple=powerpc64le-unknown-linux-gnu \2# RUN:   -run-pass ppc-mi-peepholes %s -o - -verify-machineinstrs | FileCheck %s3 4---5name: testFoldRLWINM6#CHECK: name: testFoldRLWINM7tracksRegLiveness: true8body: |9  bb.0.entry:10    liveins: $x311    %0:g8rc = COPY $x312    %1:gprc = COPY %0.sub_32:g8rc13    %2:gprc = RLWINM %1:gprc, 27, 5, 3114    ; CHECK-NOT: %2:gprc = RLWINM %1, 27, 5, 3115    %3:gprc = RLWINM %2:gprc, 19, 0, 1216    ; CHECK: %3:gprc = RLWINM killed %1, 14, 0, 1217    BLR8 implicit $lr8, implicit $rm18...19---20name: testFoldRLWINMSrcFullMask121#CHECK: name: testFoldRLWINMSrcFullMask122tracksRegLiveness: true23body: |24  bb.0.entry:25    liveins: $x326    %0:g8rc = COPY $x327    %1:gprc = COPY %0.sub_32:g8rc28    %2:gprc = RLWINM %1:gprc, 27, 0, 3129    ; CHECK-NOT: %2:gprc = RLWINM %1, 27, 0, 3130    %3:gprc = RLWINM %2:gprc, 19, 0, 1231    ; CHECK: %3:gprc = RLWINM killed %1, 14, 0, 1232    BLR8 implicit $lr8, implicit $rm33...34---35name: testFoldRLWINMSrcFullMask236#CHECK: name: testFoldRLWINMSrcFullMask237tracksRegLiveness: true38body: |39  bb.0.entry:40    liveins: $x341    %0:g8rc = COPY $x342    %1:gprc = COPY %0.sub_32:g8rc43    %2:gprc = RLWINM %1:gprc, 27, 10, 9 44    ; CHECK-NOT: %2:gprc = RLWINM %1, 27, 10, 945    %3:gprc = RLWINM %2:gprc, 19, 10, 146    ; CHECK: %3:gprc = RLWINM killed %1, 14, 10, 147    BLR8 implicit $lr8, implicit $rm48...49---50name: testFoldRLWINMSrcWrapped51#CHECK: name: testFoldRLWINMSrcWrapped52tracksRegLiveness: true53body: |54  bb.0.entry:55    liveins: $x356    %0:g8rc = COPY $x357    %1:gprc = COPY %0.sub_32:g8rc58    %2:gprc = RLWINM %1:gprc, 27, 30, 1059    ; CHECK-NOT: %2:gprc = RLWINM %1, 27, 30, 10 60    %3:gprc = RLWINM %2:gprc, 19, 0, 1261    ; CHECK: %3:gprc = RLWINM killed %1, 14, 11, 1262    BLR8 implicit $lr8, implicit $rm63...64---65name: testFoldRLWINMUserWrapped66#CHECK: name: testFoldRLWINMUserWrapped67tracksRegLiveness: true68body: |69  bb.0.entry:70    liveins: $x371    %0:g8rc = COPY $x372    %1:gprc = COPY %0.sub_32:g8rc73    %2:gprc = RLWINM %1:gprc, 10, 5, 3174    ; CHECK: %2:gprc = RLWINM killed %1, 10, 5, 3175    %3:gprc = RLWINM %2:gprc, 10, 30, 576    ; CHECK: %3:gprc = RLWINM killed %2, 10, 30, 577    BLR8 implicit $lr8, implicit $rm78...79---80name: testFoldRLWINMResultWrapped81#CHECK: name: testFoldRLWINMResultWrapped82tracksRegLiveness: true83body: |84  bb.0.entry:85    liveins: $x386    %0:g8rc = COPY $x387    %1:gprc = COPY %0.sub_32:g8rc88    %2:gprc = RLWINM killed %1:gprc, 10, 20, 1089    ; CHECK: %2:gprc = RLWINM killed %1, 10, 20, 1090    %3:gprc = RLWINM killed %2:gprc, 10, 0, 3191    ; CHECK: %3:gprc = RLWINM killed %2, 10, 0, 3192    BLR8 implicit $lr8, implicit $rm93...94---95name: testFoldRLWINMMultipleUses96#CHECK: name: testFoldRLWINMMultipleUses97tracksRegLiveness: true98body: |99  bb.0.entry:100    liveins: $x3101    %0:g8rc = COPY $x3102    %1:gprc = COPY %0.sub_32:g8rc103    %2:gprc = RLWINM killed %1:gprc, 27, 5, 31104    ; CHECK: %2:gprc = RLWINM %1, 27, 5, 31105    %3:gprc = RLWINM %2:gprc, 19, 0, 12106    ; CHECK: %3:gprc = RLWINM killed %1, 14, 0, 12107    STW %3:gprc, %2:gprc, 100 108    ; CHECK: STW killed %3, killed %2, 100109    BLR8 implicit $lr8, implicit $rm110...111---112name: testFoldRLWINMToZero113#CHECK: name: testFoldRLWINMToZero114tracksRegLiveness: true115body: |116  bb.0.entry:117    liveins: $x3118    %0:g8rc = COPY $x3119    %1:gprc = COPY %0.sub_32:g8rc120    %2:gprc = RLWINM %1:gprc, 27, 5, 10121    ; CHECK-NOT: RLWINM %1,122    %3:gprc = RLWINM %2:gprc, 8, 5, 10123    ; CHECK: %3:gprc = LI 0124    BLR8 implicit $lr8, implicit $rm125...126---127name: testFoldRLWINM_recToZero128#CHECK: name: testFoldRLWINM_recToZero129tracksRegLiveness: true130body: |131  bb.0.entry:132    liveins: $x3133    %0:g8rc = COPY $x3134    %1:gprc = COPY %0.sub_32:g8rc135    %2:gprc = RLWINM %1:gprc, 27, 5, 10136    ; CHECK-NOT: RLWINM %1,137    %3:gprc = RLWINM_rec %2:gprc, 8, 5, 10, implicit-def $cr0138    ; CHECK: %3:gprc = ANDI_rec killed %1, 0, implicit-def dead $cr0139    BLR8 implicit $lr8, implicit $rm140...141---142name: testFoldRLWINMoToZeroSrcCanNotBeDeleted143#CHECK: name: testFoldRLWINMoToZeroSrcCanNotBeDeleted144tracksRegLiveness: true145body: |146  bb.0.entry:147    liveins: $x3148    %0:g8rc = COPY $x3149    %1:gprc = COPY %0.sub_32:g8rc150    %2:gprc = RLWINM_rec killed %1:gprc, 27, 5, 10, implicit-def $cr0151    ; CHECK: %2:gprc = RLWINM_rec %1, 27, 5, 10, implicit-def dead $cr0152    %3:gprc = RLWINM_rec killed %2:gprc, 8, 5, 10, implicit-def $cr0153    ; CHECK: %3:gprc = ANDI_rec killed %1, 0, implicit-def dead $cr0154    BLR8 implicit $lr8, implicit $rm155...156---157name: testFoldRLWINMInvalidMask158#CHECK: name: testFoldRLWINMInvalidMask159tracksRegLiveness: true160body: |161  bb.0.entry:162    liveins: $x3163    %0:g8rc = COPY $x3164    %1:gprc = COPY %0.sub_32:g8rc165    %2:gprc = RLWINM %1:gprc, 20, 5, 31166    ; CHECK: %2:gprc = RLWINM killed %1, 20, 5, 31167    %3:gprc = RLWINM %2:gprc, 19, 10, 20168    ; CHECK: %3:gprc = RLWINM killed %2, 19, 10, 20169    BLR8 implicit $lr8, implicit $rm170...171---172name: testFoldRLWINMLIWrapMask173#CHECK: name: testFoldRLWINMLIWrapMask174tracksRegLiveness: true175body: |176  bb.0.entry:177    liveins: $x3178    %0:gprc = COPY $x3179    %1:gprc = LI 100180    ; CHECK: %2:gprc = LI 200181    %2:gprc = RLWINM %1:gprc, 1, 3, 2182    STW %2:gprc, %0:gprc, 100183    BLR8 implicit $lr8, implicit $rm184...185---186name: testFoldRLWINMAndANDI187tracksRegLiveness: true188body: |189  bb.0.entry:190    liveins: $x3191    ; CHECK-LABEL: name: testFoldRLWINMAndANDI192    ; CHECK: liveins: $x3193    ; CHECK: [[COPY:%[0-9]+]]:g8rc = COPY killed $x3194    ; CHECK: [[COPY1:%[0-9]+]]:gprc = COPY killed [[COPY]].sub_32195    ; CHECK: [[RLWINM:%[0-9]+]]:gprc = RLWINM killed [[COPY1]], 4, 28, 31196    ; CHECK: [[ANDI_rec:%[0-9]+]]:gprc = ANDI_rec killed [[RLWINM]], 4, implicit-def dead $cr0197    ; CHECK: BLR8 implicit $lr8, implicit $rm198    %0:g8rc = COPY $x3199    %1:gprc = COPY %0.sub_32:g8rc200    %2:gprc = RLWINM %1:gprc, 4, 28, 31201    %3:gprc = ANDI_rec %2:gprc, 4, implicit-def $cr0202    BLR8 implicit $lr8, implicit $rm203...204