brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.3 KiB · f495e82 Raw
203 lines · plain
1# RUN: llc -mtriple=s390x-linux-gnu -mcpu=z10 -start-before=greedy %s -o - \2# RUN:   | FileCheck %s3--- |4  define void @f0(ptr %ptr1, ptr %ptr2) {5    %val0 = load volatile float, ptr %ptr26    %val1 = load volatile float, ptr %ptr27    %val2 = load volatile float, ptr %ptr28    %val3 = load volatile float, ptr %ptr29    %val4 = load volatile float, ptr %ptr210    %val5 = load volatile float, ptr %ptr211    %val6 = load volatile float, ptr %ptr212    %val7 = load volatile float, ptr %ptr213    %val8 = load volatile float, ptr %ptr214    %val9 = load volatile float, ptr %ptr215    %val10 = load volatile float, ptr %ptr216    %val11 = load volatile float, ptr %ptr217    %val12 = load volatile float, ptr %ptr218    %val13 = load volatile float, ptr %ptr219    %val14 = load volatile float, ptr %ptr220    %val15 = load volatile float, ptr %ptr221    %val16 = load volatile float, ptr %ptr222    %ext0 = fpext float %val0 to double23    %ext1 = fpext float %val1 to double24    %ext2 = fpext float %val2 to double25    %ext3 = fpext float %val3 to double26    %ext4 = fpext float %val4 to double27    %ext5 = fpext float %val5 to double28    %ext6 = fpext float %val6 to double29    %ext7 = fpext float %val7 to double30    %ext8 = fpext float %val8 to double31    %ext9 = fpext float %val9 to double32    %ext10 = fpext float %val10 to double33    %ext11 = fpext float %val11 to double34    %ext12 = fpext float %val12 to double35    %ext13 = fpext float %val13 to double36    %ext14 = fpext float %val14 to double37    %ext15 = fpext float %val15 to double38    %ext16 = fpext float %val16 to double39    store volatile float %val0, ptr %ptr240    store volatile float %val1, ptr %ptr241    store volatile float %val2, ptr %ptr242    store volatile float %val3, ptr %ptr243    store volatile float %val4, ptr %ptr244    store volatile float %val5, ptr %ptr245    store volatile float %val6, ptr %ptr246    store volatile float %val7, ptr %ptr247    store volatile float %val8, ptr %ptr248    store volatile float %val9, ptr %ptr249    store volatile float %val10, ptr %ptr250    store volatile float %val11, ptr %ptr251    store volatile float %val12, ptr %ptr252    store volatile float %val13, ptr %ptr253    store volatile float %val14, ptr %ptr254    store volatile float %val15, ptr %ptr255    store volatile float %val16, ptr %ptr256    store volatile double %ext0, ptr %ptr157    store volatile double %ext1, ptr %ptr158    store volatile double %ext2, ptr %ptr159    store volatile double %ext3, ptr %ptr160    store volatile double %ext4, ptr %ptr161    store volatile double %ext5, ptr %ptr162    store volatile double %ext6, ptr %ptr163    store volatile double %ext7, ptr %ptr164    store volatile double %ext8, ptr %ptr165    store volatile double %ext9, ptr %ptr166    store volatile double %ext10, ptr %ptr167    store volatile double %ext11, ptr %ptr168    store volatile double %ext12, ptr %ptr169    store volatile double %ext13, ptr %ptr170    store volatile double %ext14, ptr %ptr171    store volatile double %ext15, ptr %ptr172    store volatile double %ext16, ptr %ptr173    ret void74  }75  76...77 78# CHECK-LABEL: f0:79# CHECK: ldeb {{%f[0-9]+}}, 16{{[04]}}(%r15)80# CHECK: br %r1481 82---83name:            f084alignment:       485tracksRegLiveness: true86registers:       87  - { id: 0, class: addr64bit }88  - { id: 1, class: addr64bit }89  - { id: 2, class: fp32bit }90  - { id: 3, class: fp32bit }91  - { id: 4, class: fp32bit }92  - { id: 5, class: fp32bit }93  - { id: 6, class: fp32bit }94  - { id: 7, class: fp32bit }95  - { id: 8, class: fp32bit }96  - { id: 9, class: fp32bit }97  - { id: 10, class: fp32bit }98  - { id: 11, class: fp32bit }99  - { id: 12, class: fp32bit }100  - { id: 13, class: fp32bit }101  - { id: 14, class: fp32bit }102  - { id: 15, class: fp32bit }103  - { id: 16, class: fp32bit }104  - { id: 17, class: fp32bit }105  - { id: 18, class: fp32bit }106  - { id: 19, class: fp64bit }107  - { id: 20, class: fp64bit }108  - { id: 21, class: fp64bit }109  - { id: 22, class: fp64bit }110  - { id: 23, class: fp64bit }111  - { id: 24, class: fp64bit }112  - { id: 25, class: fp64bit }113  - { id: 26, class: fp64bit }114  - { id: 27, class: fp64bit }115  - { id: 28, class: fp64bit }116  - { id: 29, class: fp64bit }117  - { id: 30, class: fp64bit }118  - { id: 31, class: fp64bit }119  - { id: 32, class: fp64bit }120  - { id: 33, class: fp64bit }121  - { id: 34, class: fp64bit }122  - { id: 35, class: fp64bit }123liveins:         124  - { reg: '$r2d', virtual-reg: '%0' }125  - { reg: '$r3d', virtual-reg: '%1' }126body:             |127  bb.0 (%ir-block.0):128    liveins: $r2d, $r3d129  130    %1 = COPY $r3d131    %0 = COPY $r2d132    %2 = LE %1, 0, $noreg :: (volatile load (s32) from %ir.ptr2)133    %3 = LE %1, 0, $noreg :: (volatile load (s32) from %ir.ptr2)134    %4 = LE %1, 0, $noreg :: (volatile load (s32) from %ir.ptr2)135    %5 = LE %1, 0, $noreg :: (volatile load (s32) from %ir.ptr2)136    %6 = LE %1, 0, $noreg :: (volatile load (s32) from %ir.ptr2)137    %7 = LE %1, 0, $noreg :: (volatile load (s32) from %ir.ptr2)138    %8 = LE %1, 0, $noreg :: (volatile load (s32) from %ir.ptr2)139    %9 = LE %1, 0, $noreg :: (volatile load (s32) from %ir.ptr2)140    %10 = LE %1, 0, $noreg :: (volatile load (s32) from %ir.ptr2)141    %11 = LE %1, 0, $noreg :: (volatile load (s32) from %ir.ptr2)142    %12 = LE %1, 0, $noreg :: (volatile load (s32) from %ir.ptr2)143    %13 = LE %1, 0, $noreg :: (volatile load (s32) from %ir.ptr2)144    %14 = LE %1, 0, $noreg :: (volatile load (s32) from %ir.ptr2)145    %15 = LE %1, 0, $noreg :: (volatile load (s32) from %ir.ptr2)146    %16 = LE %1, 0, $noreg :: (volatile load (s32) from %ir.ptr2)147    %17 = LE %1, 0, $noreg :: (volatile load (s32) from %ir.ptr2)148    %18 = LE %1, 0, $noreg :: (volatile load (s32) from %ir.ptr2)149    STE %2, %1, 0, $noreg :: (volatile store (s32) into %ir.ptr2)150    STE %3, %1, 0, $noreg :: (volatile store (s32) into %ir.ptr2)151    STE %4, %1, 0, $noreg :: (volatile store (s32) into %ir.ptr2)152    STE %5, %1, 0, $noreg :: (volatile store (s32) into %ir.ptr2)153    STE %6, %1, 0, $noreg :: (volatile store (s32) into %ir.ptr2)154    STE %7, %1, 0, $noreg :: (volatile store (s32) into %ir.ptr2)155    STE %8, %1, 0, $noreg :: (volatile store (s32) into %ir.ptr2)156    STE %9, %1, 0, $noreg :: (volatile store (s32) into %ir.ptr2)157    STE %10, %1, 0, $noreg :: (volatile store (s32) into %ir.ptr2)158    STE %11, %1, 0, $noreg :: (volatile store (s32) into %ir.ptr2)159    STE %12, %1, 0, $noreg :: (volatile store (s32) into %ir.ptr2)160    STE %13, %1, 0, $noreg :: (volatile store (s32) into %ir.ptr2)161    STE %14, %1, 0, $noreg :: (volatile store (s32) into %ir.ptr2)162    STE %15, %1, 0, $noreg :: (volatile store (s32) into %ir.ptr2)163    STE %16, %1, 0, $noreg :: (volatile store (s32) into %ir.ptr2)164    STE %17, %1, 0, $noreg :: (volatile store (s32) into %ir.ptr2)165    STE %18, %1, 0, $noreg :: (volatile store (s32) into %ir.ptr2)166    %19 = LDEBR %2, implicit $fpc167    STD %19, %0, 0, $noreg :: (volatile store (s64) into %ir.ptr1)168    %20 = LDEBR %3, implicit $fpc169    STD %20, %0, 0, $noreg :: (volatile store (s64) into %ir.ptr1)170    %21 = LDEBR %4, implicit $fpc171    STD %21, %0, 0, $noreg :: (volatile store (s64) into %ir.ptr1)172    %22 = LDEBR %5, implicit $fpc173    STD %22, %0, 0, $noreg :: (volatile store (s64) into %ir.ptr1)174    %23 = LDEBR %6, implicit $fpc175    STD %23, %0, 0, $noreg :: (volatile store (s64) into %ir.ptr1)176    %24 = LDEBR %7, implicit $fpc177    STD %24, %0, 0, $noreg :: (volatile store (s64) into %ir.ptr1)178    %25 = LDEBR %8, implicit $fpc179    STD %25, %0, 0, $noreg :: (volatile store (s64) into %ir.ptr1)180    %26 = LDEBR %9, implicit $fpc181    STD %26, %0, 0, $noreg :: (volatile store (s64) into %ir.ptr1)182    %27 = LDEBR %10, implicit $fpc183    STD %27, %0, 0, $noreg :: (volatile store (s64) into %ir.ptr1)184    %28 = LDEBR %11, implicit $fpc185    STD %28, %0, 0, $noreg :: (volatile store (s64) into %ir.ptr1)186    %29 = LDEBR %12, implicit $fpc187    STD %29, %0, 0, $noreg :: (volatile store (s64) into %ir.ptr1)188    %30 = LDEBR %13, implicit $fpc189    STD %30, %0, 0, $noreg :: (volatile store (s64) into %ir.ptr1)190    %31 = LDEBR %14, implicit $fpc191    STD %31, %0, 0, $noreg :: (volatile store (s64) into %ir.ptr1)192    %32 = LDEBR %15, implicit $fpc193    STD %32, %0, 0, $noreg :: (volatile store (s64) into %ir.ptr1)194    %33 = LDEBR %16, implicit $fpc195    STD %33, %0, 0, $noreg :: (volatile store (s64) into %ir.ptr1)196    %34 = LDEBR %17, implicit $fpc197    STD %34, %0, 0, $noreg :: (volatile store (s64) into %ir.ptr1)198    %35 = LDEBR %18, implicit $fpc199    STD %35, %0, 0, $noreg :: (volatile store (s64) into %ir.ptr1)200    Return201 202...203