brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.7 KiB · 9381f0f Raw
81 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -run-pass=aarch64-postlegalizer-lowering -verify-machineinstrs -mtriple aarch64-unknown-unknown %s -o - | FileCheck %s3# RUN: llc -debugify-and-strip-all-safe -run-pass=aarch64-postlegalizer-lowering -verify-machineinstrs -mtriple aarch64-unknown-unknown %s -o - | FileCheck %s4...5---6name:            fconstant_to_constant_s327alignment:       48tracksRegLiveness: true9legalized:       true10frameInfo:11  maxAlignment:    112machineFunctionInfo: {}13body:             |14  bb.0:15    liveins: $x016    ; Only feeding into stores here. Also, the value can't be materialized using17    ; fmov, so it's strictly better to use a mov.18    ; CHECK-LABEL: name: fconstant_to_constant_s3219    ; CHECK: liveins: $x020    ; CHECK-NEXT: {{  $}}21    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x022    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 102844334123    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 52424    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C1]](s64)25    ; CHECK-NEXT: G_STORE [[C]](s32), [[PTR_ADD]](p0) :: (store (s32))26    ; CHECK-NEXT: RET_ReallyLR27    %0:_(p0) = COPY $x028    %1:_(s32) = G_FCONSTANT float 0x3FA99999A000000029    %2:_(s64) = G_CONSTANT i64 52430    %3:_(p0) = G_PTR_ADD %0, %2(s64)31    G_STORE %1(s32), %3(p0) :: (store (s32))32    RET_ReallyLR33...34---35name:            fconstant_to_constant_s6436alignment:       437tracksRegLiveness: true38legalized:       true39frameInfo:40  maxAlignment:    141machineFunctionInfo: {}42body:             |43  bb.0:44    liveins: $x045    ; CHECK-LABEL: name: fconstant_to_constant_s6446    ; CHECK: liveins: $x047    ; CHECK-NEXT: {{  $}}48    ; CHECK-NEXT: %ptr:_(p0) = COPY $x049    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT i64 050    ; CHECK-NEXT: G_STORE %c(s64), %ptr(p0) :: (store (s64))51    ; CHECK-NEXT: RET_ReallyLR52    %ptr:_(p0) = COPY $x053    %c:_(s64) = G_FCONSTANT double 0.000000e+0054    G_STORE %c(s64), %ptr(p0) :: (store (s64))55    RET_ReallyLR56...57---58name:            no_store_means_no_combine59alignment:       460tracksRegLiveness: true61legalized:       true62frameInfo:63  maxAlignment:    164machineFunctionInfo: {}65body:             |66  bb.0:67    liveins: $x0, $x168    ; When we aren't feeding into a store, the combine shouldn't happen.69    ; CHECK-LABEL: name: no_store_means_no_combine70    ; CHECK: liveins: $x0, $x171    ; CHECK-NEXT: {{  $}}72    ; CHECK-NEXT: %v:_(s64) = COPY $x073    ; CHECK-NEXT: %c:_(s64) = G_FCONSTANT double 0.000000e+0074    ; CHECK-NEXT: %add:_(s64) = G_FADD %v, %c75    ; CHECK-NEXT: RET_ReallyLR implicit %add(s64)76    %v:_(s64) = COPY $x077    %c:_(s64) = G_FCONSTANT double 0.000000e+0078    %add:_(s64) = G_FADD %v, %c79    RET_ReallyLR implicit %add(s64)80...81