brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.1 KiB · 604cb96 Raw
137 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 62# RUN: llc -verify-machineinstrs -mtriple aarch64-unknown-unknown -run-pass=instruction-select %s -o - | FileCheck %s3---4name:            test_modf_fp1285alignment:       46legalized:       true7regBankSelected: true8tracksRegLiveness: true9liveins:10  - { reg: '$q0' }11frameInfo:12  maxAlignment:    1613stack:14  - { id: 0, size: 16, alignment: 16 }15body:             |16  bb.1:17    liveins: $q018 19    ; CHECK-LABEL: name: test_modf_fp12820    ; CHECK: liveins: $q021    ; CHECK-NEXT: {{  $}}22    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q023    ; CHECK-NEXT: [[ADDXri:%[0-9]+]]:gpr64sp = ADDXri %stack.0, 0, 024    ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp25    ; CHECK-NEXT: $q0 = COPY [[COPY]]26    ; CHECK-NEXT: $x0 = COPY [[ADDXri]]27    ; CHECK-NEXT: BL &modfl, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $q0, implicit $x0, implicit-def $q028    ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp29    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q030    ; CHECK-NEXT: [[LDRQui:%[0-9]+]]:fpr128 = LDRQui %stack.0, 0 :: (load (s128) from %stack.0)31    ; CHECK-NEXT: $q0 = COPY [[COPY1]]32    ; CHECK-NEXT: $q1 = COPY [[LDRQui]]33    ; CHECK-NEXT: RET_ReallyLR implicit $q0, implicit $q134    %0:fpr(s128) = COPY $q035    %3:gpr(p0) = G_FRAME_INDEX %stack.036    ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp37    $q0 = COPY %0(s128)38    $x0 = COPY %3(p0)39    BL &modfl, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $q0, implicit $x0, implicit-def $q040    ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp41    %1:fpr(s128) = COPY $q042    %2:fpr(s128) = G_LOAD %3(p0) :: (load (s128) from %stack.0)43    $q0 = COPY %1(s128)44    $q1 = COPY %2(s128)45    RET_ReallyLR implicit $q0, implicit $q146...47---48name:            test_modf_double49alignment:       450legalized:       true51regBankSelected: true52tracksRegLiveness: true53liveins:54  - { reg: '$d0' }55frameInfo:56  maxAlignment:    857stack:58  - { id: 0, size: 8, alignment: 8 }59machineFunctionInfo: {}60body:             |61  bb.1:62    liveins: $d063 64    ; CHECK-LABEL: name: test_modf_double65    ; CHECK: liveins: $d066    ; CHECK-NEXT: {{  $}}67    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d068    ; CHECK-NEXT: [[ADDXri:%[0-9]+]]:gpr64sp = ADDXri %stack.0, 0, 069    ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp70    ; CHECK-NEXT: $d0 = COPY [[COPY]]71    ; CHECK-NEXT: $x0 = COPY [[ADDXri]]72    ; CHECK-NEXT: BL &modf, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $d0, implicit $x0, implicit-def $d073    ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp74    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d075    ; CHECK-NEXT: [[LDRDui:%[0-9]+]]:fpr64 = LDRDui %stack.0, 0 :: (load (s64) from %stack.0)76    ; CHECK-NEXT: $d0 = COPY [[COPY1]]77    ; CHECK-NEXT: $d1 = COPY [[LDRDui]]78    ; CHECK-NEXT: RET_ReallyLR implicit $d0, implicit $d179    %0:fpr(s64) = COPY $d080    %3:gpr(p0) = G_FRAME_INDEX %stack.081    ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp82    $d0 = COPY %0(s64)83    $x0 = COPY %3(p0)84    BL &modf, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $d0, implicit $x0, implicit-def $d085    ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp86    %1:fpr(s64) = COPY $d087    %2:fpr(s64) = G_LOAD %3(p0) :: (load (s64) from %stack.0)88    $d0 = COPY %1(s64)89    $d1 = COPY %2(s64)90    RET_ReallyLR implicit $d0, implicit $d191...92---93name:            test_modf_double_vec94alignment:       495legalized:       true96regBankSelected: true97tracksRegLiveness: true98liveins:99  - { reg: '$d0' }100frameInfo:101  maxAlignment:    8102stack:103  - { id: 0, size: 8, alignment: 8 }104machineFunctionInfo: {}105body:             |106  bb.1:107    liveins: $d0108 109    ; CHECK-LABEL: name: test_modf_double_vec110    ; CHECK: liveins: $d0111    ; CHECK-NEXT: {{  $}}112    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d0113    ; CHECK-NEXT: [[ADDXri:%[0-9]+]]:gpr64sp = ADDXri %stack.0, 0, 0114    ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp115    ; CHECK-NEXT: $d0 = COPY [[COPY]]116    ; CHECK-NEXT: $x0 = COPY [[ADDXri]]117    ; CHECK-NEXT: BL &modf, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $d0, implicit $x0, implicit-def $d0118    ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp119    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d0120    ; CHECK-NEXT: [[LDRDui:%[0-9]+]]:fpr64 = LDRDui %stack.0, 0 :: (load (s64) from %stack.0)121    ; CHECK-NEXT: $d0 = COPY [[COPY1]]122    ; CHECK-NEXT: $d1 = COPY [[LDRDui]]123    ; CHECK-NEXT: RET_ReallyLR implicit $d0, implicit $d1124    %0:fpr(s64) = COPY $d0125    %3:gpr(p0) = G_FRAME_INDEX %stack.0126    ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp127    $d0 = COPY %0(s64)128    $x0 = COPY %3(p0)129    BL &modf, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $d0, implicit $x0, implicit-def $d0130    ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp131    %1:fpr(s64) = COPY $d0132    %2:fpr(s64) = G_LOAD %3(p0) :: (load (s64) from %stack.0)133    $d0 = COPY %1(s64)134    $d1 = COPY %2(s64)135    RET_ReallyLR implicit $d0, implicit $d1136...137