brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · c6a244f Raw
106 lines · plain
1# RUN: llc -mtriple=s390x-linux-gnu -mcpu=z16 -start-before=peephole-opt \2# RUN:   -stop-after=peephole-opt %s -o - | FileCheck %s3 4--- |5  define double @f1(ptr %x, i32 %a, i32 %b, i32 %limit, ptr %dst) #0 {6    %arrayidx1 = getelementptr inbounds double, ptr %x, i64 17    ret double 0.08  }9  define double @f2(ptr %x, i32 %a, i32 %b, i32 %limit, ptr %dst) #0 {10    %arrayidx1 = getelementptr inbounds double, ptr %x, i64 111    ret double 0.012  }13 14...15 16# Do not fold where CC is live.17# CHECK: name: f118# CHECK: {{.*}} WFADB19---20name:            f121alignment:       1622tracksRegLiveness: true23registers:24  - { id: 0, class: addr64bit }25  - { id: 1, class: gr32bit }26  - { id: 2, class: gr32bit }27  - { id: 3, class: gr32bit }28  - { id: 4, class: addr64bit }29  - { id: 5, class: vr64bit }30  - { id: 6, class: vr64bit }31  - { id: 7, class: vr64bit }32  - { id: 8, class: grx32bit }33liveins:34  - { reg: '$r2d', virtual-reg: '%0' }35  - { reg: '$r3l', virtual-reg: '%1' }36  - { reg: '$r4l', virtual-reg: '%2' }37  - { reg: '$r5l', virtual-reg: '%3' }38  - { reg: '$r6d', virtual-reg: '%4' }39frameInfo:40  maxAlignment:    141machineFunctionInfo: {}42body:             |43  bb.0:44    liveins: $r2d, $r3l, $r4l, $r5l, $r6d45  46    %4:addr64bit = COPY $r6d47    %3:gr32bit = COPY $r5l48    %2:gr32bit = COPY $r4l49    %1:gr32bit = COPY $r3l50    %0:addr64bit = COPY $r2d51    CLFIMux %3, 42, implicit-def $cc52    %5:vr64bit = VL64 %0, 0, $noreg :: (load (s64) from %ir.x)53    %6:vr64bit = VL64 %0, 8, $noreg :: (load (s64) from %ir.arrayidx1)54    %7:vr64bit = nsz arcp contract afn reassoc nofpexcept WFADB killed %6, killed %5, implicit $fpc55    %8:grx32bit = SELRMux %2, %1, 14, 4, implicit $cc56    STMux killed %8, %4, 0, $noreg :: (store (s32) into %ir.dst)57    $f0d = COPY %758    Return implicit $f0d59 60...61 62# Do not fold where CC is live in.63# CHECK: name: f264# CHECK: {{.*}} WFADB65---66name:            f267alignment:       1668tracksRegLiveness: true69registers:70  - { id: 0, class: addr64bit }71  - { id: 1, class: gr32bit }72  - { id: 2, class: gr32bit }73  - { id: 3, class: gr32bit }74  - { id: 4, class: addr64bit }75  - { id: 5, class: vr64bit }76  - { id: 6, class: vr64bit }77  - { id: 7, class: vr64bit }78  - { id: 8, class: grx32bit }79liveins:80  - { reg: '$r2d', virtual-reg: '%0' }81  - { reg: '$r3l', virtual-reg: '%1' }82  - { reg: '$r4l', virtual-reg: '%2' }83  - { reg: '$r5l', virtual-reg: '%3' }84  - { reg: '$r6d', virtual-reg: '%4' }85frameInfo:86  maxAlignment:    187machineFunctionInfo: {}88body:             |89  bb.0:90    liveins: $r2d, $r3l, $r4l, $r5l, $r6d, $cc91  92    %4:addr64bit = COPY $r6d93    %3:gr32bit = COPY $r5l94    %2:gr32bit = COPY $r4l95    %1:gr32bit = COPY $r3l96    %0:addr64bit = COPY $r2d97    %5:vr64bit = VL64 %0, 0, $noreg :: (load (s64) from %ir.x)98    %6:vr64bit = VL64 %0, 8, $noreg :: (load (s64) from %ir.arrayidx1)99    %7:vr64bit = nsz arcp contract afn reassoc nofpexcept WFADB killed %6, killed %5, implicit $fpc100    %8:grx32bit = SELRMux %2, %1, 14, 4, implicit $cc101    STMux killed %8, %4, 0, $noreg :: (store (s32) into %ir.dst)102    $f0d = COPY %7103    Return implicit $f0d104 105...106