brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.5 KiB · c00ce22 Raw
185 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -O0 -mtriple aarch64 -run-pass=legalizer -verify-machineinstrs %s -o - | FileCheck %s3 4name:            test_constant5registers:6body: |7  bb.0:8    liveins: $x09    ; CHECK-LABEL: name: test_constant10    ; CHECK: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 011    ; CHECK: $w0 = COPY [[C]](s32)12    ; CHECK: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 4213    ; CHECK: $w0 = COPY [[C1]](s32)14    ; CHECK: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 -115    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY [[C2]](s32)16    ; CHECK: $w0 = COPY [[COPY]](s32)17    ; CHECK: $w0 = COPY [[C2]](s32)18    ; CHECK: [[C3:%[0-9]+]]:_(s64) = G_CONSTANT i64 119    ; CHECK: $x0 = COPY [[C3]](s64)20    ; CHECK: [[C4:%[0-9]+]]:_(s64) = G_CONSTANT i64 021    ; CHECK: $x0 = COPY [[C4]](s64)22    %0:_(s1) = G_CONSTANT i1 023    %6:_(s32) = G_ANYEXT %024    $w0 = COPY %625    %1:_(s8) = G_CONSTANT i8 4226    %7:_(s32) = G_ANYEXT %127    $w0 = COPY %728    %2:_(s16) = G_CONSTANT i16 6553529    %8:_(s32) = G_ANYEXT %230    $w0 = COPY %831    %3:_(s32) = G_CONSTANT i32 -132    $w0 = COPY %333    %4:_(s64) = G_CONSTANT i64 134    $x0 = COPY %435    %5:_(s64) = G_CONSTANT i64 036    $x0 = COPY %537...38 39---40name:            test_fconstant41body: |42  bb.0:43    liveins: $x044    ; CHECK-LABEL: name: test_fconstant45    ; CHECK: liveins: $x046    ; CHECK-NEXT: {{  $}}47    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_FCONSTANT float 1.000000e+0048    ; CHECK-NEXT: $w0 = COPY [[C]](s32)49    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_FCONSTANT double 2.000000e+0050    ; CHECK-NEXT: $x0 = COPY [[C1]](s64)51    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s16) = G_FCONSTANT half 0xH000052    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[C2]](s16)53    ; CHECK-NEXT: $w0 = COPY [[ANYEXT]](s32)54    %0:_(s32) = G_FCONSTANT float 1.055    $w0 = COPY %056    %1:_(s64) = G_FCONSTANT double 2.057    $x0 = COPY %158    %2:_(s16) = G_FCONSTANT half 0.059    %3:_(s32) = G_ANYEXT %260    $w0 = COPY %361...62 63---64name:           s79265registers:66body: |67  bb.0:68    liveins: $x069    ; CHECK-LABEL: name: s79270    ; CHECK: liveins: $x071    ; CHECK-NEXT: {{  $}}72    ; CHECK-NEXT: %trunc:_(s32) = G_CONSTANT i32 073    ; CHECK-NEXT: $w0 = COPY %trunc(s32)74    ; CHECK-NEXT: RET_ReallyLR implicit $w075    %cst:_(s792) = G_CONSTANT i792 076    %trunc:_(s32) = G_TRUNC %cst(s792)77    $w0 = COPY %trunc(s32)78    RET_ReallyLR implicit $w079...80---81name:           s31882registers:83body: |84  bb.0:85    liveins: $x086    ; CHECK-LABEL: name: s31887    ; CHECK: liveins: $x088    ; CHECK-NEXT: {{  $}}89    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 123490    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 091    ; CHECK-NEXT: %ptr:_(p0) = COPY $x092    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 -193    ; CHECK-NEXT: [[C3:%[0-9]+]]:_(s64) = G_CONSTANT i64 461168601842738790394    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[C]], [[C2]]95    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[C1]], [[C2]]96    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s64) = G_AND [[C1]], [[C2]]97    ; CHECK-NEXT: [[AND3:%[0-9]+]]:_(s64) = G_AND [[C1]], [[C2]]98    ; CHECK-NEXT: [[AND4:%[0-9]+]]:_(s64) = G_AND [[C1]], [[C3]]99    ; CHECK-NEXT: G_STORE [[AND]](s64), %ptr(p0) :: (store (s64), align 64)100    ; CHECK-NEXT: [[C4:%[0-9]+]]:_(s64) = G_CONSTANT i64 8101    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD %ptr, [[C4]](s64)102    ; CHECK-NEXT: G_STORE [[AND1]](s64), [[PTR_ADD]](p0) :: (store (s64) into unknown-address + 8)103    ; CHECK-NEXT: [[C5:%[0-9]+]]:_(s64) = G_CONSTANT i64 16104    ; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD %ptr, [[C5]](s64)105    ; CHECK-NEXT: G_STORE [[AND2]](s64), [[PTR_ADD1]](p0) :: (store (s64) into unknown-address + 16, align 16)106    ; CHECK-NEXT: [[C6:%[0-9]+]]:_(s64) = G_CONSTANT i64 24107    ; CHECK-NEXT: [[PTR_ADD2:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD %ptr, [[C6]](s64)108    ; CHECK-NEXT: G_STORE [[AND3]](s64), [[PTR_ADD2]](p0) :: (store (s64) into unknown-address + 24)109    ; CHECK-NEXT: [[C7:%[0-9]+]]:_(s64) = G_CONSTANT i64 32110    ; CHECK-NEXT: [[PTR_ADD3:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD %ptr, [[C7]](s64)111    ; CHECK-NEXT: G_STORE [[AND4]](s64), [[PTR_ADD3]](p0) :: (store (s64) into unknown-address + 32, align 32)112    ; CHECK-NEXT: RET_ReallyLR implicit $w0113    %cst:_(s318) = G_CONSTANT i318 1234114    %ptr:_(p0) = COPY $x0115    G_STORE %cst(s318), %ptr(p0) :: (store (s318))116    RET_ReallyLR implicit $w0117...118---119name:           s158120registers:121body: |122  bb.0:123    liveins: $x0124    ; CHECK-LABEL: name: s158125    ; CHECK: liveins: $x0126    ; CHECK-NEXT: {{  $}}127    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 1234128    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 0129    ; CHECK-NEXT: %ptr:_(p0) = COPY $x0130    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 -1131    ; CHECK-NEXT: [[C3:%[0-9]+]]:_(s64) = G_CONSTANT i64 1073741823132    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[C]], [[C2]]133    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[C1]], [[C2]]134    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s64) = G_AND [[C1]], [[C3]]135    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY [[AND]](s64)136    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY [[AND1]](s64)137    ; CHECK-NEXT: [[EXTRACT:%[0-9]+]]:_(s32) = G_EXTRACT [[AND2]](s64), 0138    ; CHECK-NEXT: G_STORE [[COPY]](s64), %ptr(p0) :: (store (s64), align 32)139    ; CHECK-NEXT: [[C4:%[0-9]+]]:_(s64) = G_CONSTANT i64 8140    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD %ptr, [[C4]](s64)141    ; CHECK-NEXT: G_STORE [[COPY1]](s64), [[PTR_ADD]](p0) :: (store (s64) into unknown-address + 8)142    ; CHECK-NEXT: [[C5:%[0-9]+]]:_(s64) = G_CONSTANT i64 16143    ; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD %ptr, [[C5]](s64)144    ; CHECK-NEXT: G_STORE [[EXTRACT]](s32), [[PTR_ADD1]](p0) :: (store (s32) into unknown-address + 16, align 16)145    ; CHECK-NEXT: RET_ReallyLR implicit $w0146    %cst:_(s158) = G_CONSTANT i158 1234147    %ptr:_(p0) = COPY $x0148    G_STORE %cst(s158), %ptr(p0) :: (store (s158))149    RET_ReallyLR implicit $w0150...151---152name:           s142153registers:154body: |155  bb.0:156    liveins: $x0157 158    ; CHECK-LABEL: name: s142159    ; CHECK: liveins: $x0160    ; CHECK-NEXT: {{  $}}161    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 1234162    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 0163    ; CHECK-NEXT: %ptr:_(p0) = COPY $x0164    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 -1165    ; CHECK-NEXT: [[C3:%[0-9]+]]:_(s64) = G_CONSTANT i64 16383166    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[C]], [[C2]]167    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[C1]], [[C2]]168    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s64) = G_AND [[C1]], [[C3]]169    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY [[AND]](s64)170    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY [[AND1]](s64)171    ; CHECK-NEXT: [[EXTRACT:%[0-9]+]]:_(s16) = G_EXTRACT [[AND2]](s64), 0172    ; CHECK-NEXT: G_STORE [[COPY]](s64), %ptr(p0) :: (store (s64), align 32)173    ; CHECK-NEXT: [[C4:%[0-9]+]]:_(s64) = G_CONSTANT i64 8174    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD %ptr, [[C4]](s64)175    ; CHECK-NEXT: G_STORE [[COPY1]](s64), [[PTR_ADD]](p0) :: (store (s64) into unknown-address + 8)176    ; CHECK-NEXT: [[C5:%[0-9]+]]:_(s64) = G_CONSTANT i64 16177    ; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD %ptr, [[C5]](s64)178    ; CHECK-NEXT: G_STORE [[EXTRACT]](s16), [[PTR_ADD1]](p0) :: (store (s16) into unknown-address + 16, align 16)179    ; CHECK-NEXT: RET_ReallyLR implicit $w0180    %cst:_(s142) = G_CONSTANT i142 1234181    %ptr:_(p0) = COPY $x0182    G_STORE %cst(s142), %ptr(p0) :: (store (s142))183    RET_ReallyLR implicit $w0184...185