brintos

brintos / llvm-project-archived public Read only

0
0
Text · 9.7 KiB · 7ee854c Raw
143 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=+altivec -vec-extabi \3; RUN:     -stop-after=machine-cp -mtriple powerpc-ibm-aix-xcoff < %s | \4; RUN:   FileCheck %s --check-prefix=MIR325 6; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=+altivec -vec-extabi \7; RUN:     -stop-after=machine-cp -mtriple powerpc64-ibm-aix-xcoff < %s | \8; RUN:   FileCheck %s --check-prefix=MIR649 10%struct.Test = type { double, double, double, double }11 12@__const.caller.t = private unnamed_addr constant %struct.Test { double 0.000000e+00, double 1.000000e+00, double 2.000000e+00, double 3.000000e+00 }, align 813 14define double @caller() {15 16  ; MIR32-LABEL: name: caller17  ; MIR32: bb.0.entry:18  ; MIR32-NEXT:   renamable $r3 = LI 019  ; MIR32-NEXT:   renamable $r4 = LIS 1639220  ; MIR32-NEXT:   STW killed renamable $r4, 180, $r1 :: (store (s32) into unknown-address + 24)21  ; MIR32-NEXT:   renamable $r4 = LIS 1638422  ; MIR32-NEXT:   STW renamable $r3, 184, $r1 :: (store (s32) into unknown-address + 28)23  ; MIR32-NEXT:   STW renamable $r3, 176, $r1 :: (store (s32) into unknown-address + 20)24  ; MIR32-NEXT:   STW killed renamable $r4, 172, $r1 :: (store (s32) into unknown-address + 16)25  ; MIR32-NEXT:   STW renamable $r3, 168, $r1 :: (store (s32) into unknown-address + 12)26  ; MIR32-NEXT:   renamable $r4 = LIS 1636827  ; MIR32-NEXT:   STW killed renamable $r4, 164, $r1 :: (store (s32) into unknown-address + 8)28  ; MIR32-NEXT:   STW renamable $r3, 160, $r1 :: (store (s32) into unknown-address + 4)29  ; MIR32-NEXT:   STW killed renamable $r3, 156, $r1 :: (store (s32))30  ; MIR32-NEXT:   ADJCALLSTACKDOWN 188, 0, implicit-def dead $r1, implicit $r131  ; MIR32-NEXT:   renamable $vsl0 = XXLXORz32  ; MIR32-NEXT:   renamable $r3 = LI 13633  ; MIR32-NEXT:   renamable $r4 = LI 12034  ; MIR32-NEXT:   STXVW4X renamable $vsl0, $r1, killed renamable $r3 :: (store (s128), align 8)35  ; MIR32-NEXT:   renamable $r3 = LI 10436  ; MIR32-NEXT:   STXVW4X renamable $vsl0, $r1, killed renamable $r4 :: (store (s128), align 8)37  ; MIR32-NEXT:   STXVW4X renamable $vsl0, $r1, killed renamable $r3 :: (store (s128), align 8)38  ; MIR32-NEXT:   renamable $r3 = LI 8839  ; MIR32-NEXT:   renamable $r4 = LI 7240  ; MIR32-NEXT:   STXVW4X renamable $vsl0, $r1, killed renamable $r3 :: (store (s128), align 8)41  ; MIR32-NEXT:   renamable $r3 = LI 4842  ; MIR32-NEXT:   STXVW4X killed renamable $vsl0, $r1, killed renamable $r4 :: (store (s128), align 8)43  ; MIR32-NEXT:   renamable $r4 = LI 51244  ; MIR32-NEXT:   STW killed renamable $r4, 152, $r1 :: (store (s32) into stack + 152, align 8, basealign 16)45  ; MIR32-NEXT:   renamable $r4 = LWZtoc %const.0, $r2 :: (load (s32) from got)46  ; MIR32-NEXT:   renamable $vsl0 = LXVD2X $zero, killed renamable $r4 :: (load (s128) from constant-pool)47  ; MIR32-NEXT:   STXVD2X killed renamable $vsl0, $r1, killed renamable $r3 :: (store (s128) into stack + 48)48  ; MIR32-NEXT:   $f1 = XXLXORdpz49  ; MIR32-NEXT:   $f2 = XXLXORdpz50  ; MIR32-NEXT:   $v2 = XXLXORz51  ; MIR32-NEXT:   $v3 = XXLXORz52  ; MIR32-NEXT:   $v4 = XXLXORz53  ; MIR32-NEXT:   $v5 = XXLXORz54  ; MIR32-NEXT:   $v6 = XXLXORz55  ; MIR32-NEXT:   $v7 = XXLXORz56  ; MIR32-NEXT:   $v8 = XXLXORz57  ; MIR32-NEXT:   $r3 = LI 12858  ; MIR32-NEXT:   $r4 = LI 25659  ; MIR32-NEXT:   $v9 = XXLXORz60  ; MIR32-NEXT:   $v10 = XXLXORz61  ; MIR32-NEXT:   $v11 = XXLXORz62  ; MIR32-NEXT:   $v12 = XXLXORz63  ; MIR32-NEXT:   $v13 = XXLXORz64  ; MIR32-NEXT:   $f3 = XXLXORdpz65  ; MIR32-NEXT:   $f4 = XXLXORdpz66  ; MIR32-NEXT:   $f5 = XXLXORdpz67  ; MIR32-NEXT:   $f6 = XXLXORdpz68  ; MIR32-NEXT:   $f7 = XXLXORdpz69  ; MIR32-NEXT:   $f8 = XXLXORdpz70  ; MIR32-NEXT:   $f9 = XXLXORdpz71  ; MIR32-NEXT:   $f10 = XXLXORdpz72  ; MIR32-NEXT:   $f11 = XXLXORdpz73  ; MIR32-NEXT:   $f12 = XXLXORdpz74  ; MIR32-NEXT:   $f13 = XXLXORdpz75  ; MIR32-NEXT:   BL_NOP <mcsymbol .callee[PR]>, csr_aix32_altivec, implicit-def dead $lr, implicit $rm, implicit $r3, implicit $r4, implicit $f1, implicit killed $f2, implicit killed $v2, implicit killed $v3, implicit killed $v4, implicit killed $v5, implicit killed $v6, implicit killed $v7, implicit killed $v8, implicit killed $v9, implicit killed $v10, implicit killed $v11, implicit killed $v12, implicit killed $v13, implicit killed $f3, implicit killed $f4, implicit killed $f5, implicit killed $f6, implicit killed $f7, implicit killed $f8, implicit killed $f9, implicit killed $f10, implicit killed $f11, implicit killed $f12, implicit killed $f13, implicit $r2, implicit-def $r1, implicit-def $f176  ; MIR32-NEXT:   ADJCALLSTACKUP 188, 0, implicit-def dead $r1, implicit $r177  ; MIR32-NEXT:   BLR implicit $lr, implicit $rm, implicit $f178  ;79  ; MIR64-LABEL: name: caller80  ; MIR64: bb.0.entry:81  ; MIR64-NEXT:   renamable $x3 = LI8 204982  ; MIR64-NEXT:   renamable $x4 = LI8 183  ; MIR64-NEXT:   renamable $x3 = RLDIC killed renamable $x3, 51, 184  ; MIR64-NEXT:   STD killed renamable $x3, 216, $x1 :: (store (s64) into unknown-address + 24, align 4)85  ; MIR64-NEXT:   renamable $x3 = LI8 102386  ; MIR64-NEXT:   renamable $x4 = RLDIC killed renamable $x4, 62, 187  ; MIR64-NEXT:   STD killed renamable $x4, 208, $x1 :: (store (s64) into unknown-address + 16, align 4)88  ; MIR64-NEXT:   renamable $x4 = LI8 089  ; MIR64-NEXT:   STD renamable $x4, 192, $x1 :: (store (s64), align 4)90  ; MIR64-NEXT:   renamable $x3 = RLDIC killed renamable $x3, 52, 291  ; MIR64-NEXT:   STD killed renamable $x3, 200, $x1 :: (store (s64) into unknown-address + 8, align 4)92  ; MIR64-NEXT:   ADJCALLSTACKDOWN 224, 0, implicit-def dead $r1, implicit $r193  ; MIR64-NEXT:   renamable $vsl0 = XXLXORz94  ; MIR64-NEXT:   renamable $x3 = LI8 16095  ; MIR64-NEXT:   STXVW4X renamable $vsl0, $x1, killed renamable $x3 :: (store (s128))96  ; MIR64-NEXT:   renamable $x3 = LI8 14497  ; MIR64-NEXT:   STXVW4X renamable $vsl0, $x1, killed renamable $x3 :: (store (s128))98  ; MIR64-NEXT:   renamable $x3 = LI8 12899  ; MIR64-NEXT:   STXVW4X killed renamable $vsl0, $x1, killed renamable $x3 :: (store (s128))100  ; MIR64-NEXT:   renamable $x3 = LI8 512101  ; MIR64-NEXT:   STD killed renamable $x3, 184, $x1 :: (store (s64) into stack + 184, basealign 16)102  ; MIR64-NEXT:   renamable $x3 = LI8 80103  ; MIR64-NEXT:   STD killed renamable $x4, 176, $x1 :: (store (s64) into stack + 176, align 16)104  ; MIR64-NEXT:   renamable $x4 = LDtocCPT %const.0, $x2 :: (load (s64) from got)105  ; MIR64-NEXT:   renamable $vsl0 = LXVD2X $zero8, killed renamable $x4 :: (load (s128) from constant-pool)106  ; MIR64-NEXT:   STXVD2X killed renamable $vsl0, $x1, killed renamable $x3 :: (store (s128) into stack + 80)107  ; MIR64-NEXT:   $f1 = XXLXORdpz108  ; MIR64-NEXT:   $f2 = XXLXORdpz109  ; MIR64-NEXT:   $v2 = XXLXORz110  ; MIR64-NEXT:   $v3 = XXLXORz111  ; MIR64-NEXT:   $v4 = XXLXORz112  ; MIR64-NEXT:   $v5 = XXLXORz113  ; MIR64-NEXT:   $v6 = XXLXORz114  ; MIR64-NEXT:   $x3 = LI8 128115  ; MIR64-NEXT:   $x4 = LI8 256116  ; MIR64-NEXT:   $v7 = XXLXORz117  ; MIR64-NEXT:   $v8 = XXLXORz118  ; MIR64-NEXT:   $v9 = XXLXORz119  ; MIR64-NEXT:   $v10 = XXLXORz120  ; MIR64-NEXT:   $v11 = XXLXORz121  ; MIR64-NEXT:   $v12 = XXLXORz122  ; MIR64-NEXT:   $v13 = XXLXORz123  ; MIR64-NEXT:   $f3 = XXLXORdpz124  ; MIR64-NEXT:   $f4 = XXLXORdpz125  ; MIR64-NEXT:   $f5 = XXLXORdpz126  ; MIR64-NEXT:   $f6 = XXLXORdpz127  ; MIR64-NEXT:   $f7 = XXLXORdpz128  ; MIR64-NEXT:   $f8 = XXLXORdpz129  ; MIR64-NEXT:   $f9 = XXLXORdpz130  ; MIR64-NEXT:   $f10 = XXLXORdpz131  ; MIR64-NEXT:   $f11 = XXLXORdpz132  ; MIR64-NEXT:   $f12 = XXLXORdpz133  ; MIR64-NEXT:   $f13 = XXLXORdpz134  ; MIR64-NEXT:   BL8_NOP <mcsymbol .callee[PR]>, csr_ppc64_altivec, implicit-def dead $lr8, implicit $rm, implicit $x3, implicit $x4, implicit $f1, implicit killed $f2, implicit killed $v2, implicit killed $v3, implicit killed $v4, implicit killed $v5, implicit killed $v6, implicit killed $v7, implicit killed $v8, implicit killed $v9, implicit killed $v10, implicit killed $v11, implicit killed $v12, implicit killed $v13, implicit killed $f3, implicit killed $f4, implicit killed $f5, implicit killed $f6, implicit killed $f7, implicit killed $f8, implicit killed $f9, implicit killed $f10, implicit killed $f11, implicit killed $f12, implicit killed $f13, implicit $x2, implicit-def $r1, implicit-def $f1135  ; MIR64-NEXT:   ADJCALLSTACKUP 224, 0, implicit-def dead $r1, implicit $r1136  ; MIR64-NEXT:   BLR8 implicit $lr8, implicit $rm, implicit $f1137  entry:138    %call = tail call double @callee(i32 signext 128, i32 signext 256, double 0.000000e+00, double 0.000000e+00, <2 x double> <double 0.000000e+00, double 0.000000e+00>, <2 x double> <double 0.000000e+00, double 0.000000e+00>, <2 x double> <double 0.000000e+00, double 0.000000e+00>, <2 x double> <double 0.000000e+00, double 0.000000e+00>, <2 x double> <double 0.000000e+00, double 0.000000e+00>, <2 x double> <double 0.000000e+00, double 0.000000e+00>, <2 x double> <double 0.000000e+00, double 0.000000e+00>, <2 x double> <double 0.000000e+00, double 0.000000e+00>, <2 x double> <double 0.000000e+00, double 0.000000e+00>, <2 x double> <double 0.000000e+00, double 0.000000e+00>, <2 x double> <double 0.000000e+00, double 0.000000e+00>, <2 x double> <double 0.000000e+00, double 0.000000e+00>, <2 x double> <double 2.400000e+01, double 2.500000e+01>, double 0.000000e+00, double 0.000000e+00, double 0.000000e+00, double 0.000000e+00, double 0.000000e+00, double 0.000000e+00, double 0.000000e+00, double 0.000000e+00, double 0.000000e+00, double 0.000000e+00, double 0.000000e+00, i32 signext 512, ptr nonnull byval(%struct.Test) align 4 @__const.caller.t)139      ret double %call140}141 142declare double @callee(i32 signext, i32 signext, double, double, <2 x double>, <2 x double>, <2 x double>, <2 x double>, <2 x double>, <2 x double>, <2 x double>, <2 x double>, <2 x double>, <2 x double>, <2 x double>, <2 x double>, <2 x double>, double, double, double, double, double, double, double, double, double, double, double, i32 signext, ptr byval(%struct.Test) align 8)143