brintos

brintos / llvm-project-archived public Read only

0
0
Text · 9.6 KiB · 69fe50e Raw
341 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -O0 -run-pass=legalizer %s -o - | FileCheck %s3 4--- |5  target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"6  target triple = "aarch64--"7 8  define void @test_sitofp_s32_s32() { ret void }9  define void @test_uitofp_s32_s32() { ret void }10  define void @test_sitofp_s32_s64() { ret void }11  define void @test_uitofp_s32_s64() { ret void }12 13  define void @test_sitofp_s64_s32() { ret void }14  define void @test_uitofp_s64_s32() { ret void }15  define void @test_sitofp_s64_s64() { ret void }16  define void @test_uitofp_s64_s64() { ret void }17 18  define void @test_sitofp_s32_s1() { ret void }19  define void @test_uitofp_s32_s1() { ret void }20 21  define void @test_sitofp_s64_s8() { ret void }22  define void @test_uitofp_s64_s8() { ret void }23 24  define void @test_sitofp_v4s32() { ret void }25  define void @test_uitofp_v4s32() { ret void }26 27  define void @test_uitofp_v2s64_v2i1() { ret void }28  define void @test_sitofp_v2s64_v2i1() { ret void }29 30  define void @test_sitofp_s32_s16() { ret void }31  define void @test_uitofp_s32_s16() { ret void }32...33 34---35name:            test_sitofp_s32_s3236body: |37  bb.0:38    liveins: $w039    ; CHECK-LABEL: name: test_sitofp_s32_s3240    ; CHECK: liveins: $w041    ; CHECK-NEXT: {{  $}}42    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w043    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s32) = G_SITOFP [[COPY]](s32)44    ; CHECK-NEXT: $w0 = COPY [[SITOFP]](s32)45    %0:_(s32) = COPY $w046    %1:_(s32) = G_SITOFP %047    $w0 = COPY %148...49 50---51name:            test_uitofp_s32_s3252body: |53  bb.0:54    liveins: $w055    ; CHECK-LABEL: name: test_uitofp_s32_s3256    ; CHECK: liveins: $w057    ; CHECK-NEXT: {{  $}}58    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w059    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s32) = G_UITOFP [[COPY]](s32)60    ; CHECK-NEXT: $w0 = COPY [[UITOFP]](s32)61    %0:_(s32) = COPY $w062    %1:_(s32) = G_UITOFP %063    $w0 = COPY %164...65 66---67name:            test_sitofp_s32_s6468body: |69  bb.0:70    liveins: $x071    ; CHECK-LABEL: name: test_sitofp_s32_s6472    ; CHECK: liveins: $x073    ; CHECK-NEXT: {{  $}}74    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x075    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s32) = G_SITOFP [[COPY]](s64)76    ; CHECK-NEXT: $w0 = COPY [[SITOFP]](s32)77    %0:_(s64) = COPY $x078    %1:_(s32) = G_SITOFP %079    $w0 = COPY %180...81 82---83name:            test_uitofp_s32_s6484body: |85  bb.0:86    liveins: $x087    ; CHECK-LABEL: name: test_uitofp_s32_s6488    ; CHECK: liveins: $x089    ; CHECK-NEXT: {{  $}}90    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x091    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s32) = G_UITOFP [[COPY]](s64)92    ; CHECK-NEXT: $w0 = COPY [[UITOFP]](s32)93    %0:_(s64) = COPY $x094    %1:_(s32) = G_UITOFP %095    $w0 = COPY %196...97 98---99name:            test_sitofp_s64_s32100body: |101  bb.0:102    liveins: $w0103    ; CHECK-LABEL: name: test_sitofp_s64_s32104    ; CHECK: liveins: $w0105    ; CHECK-NEXT: {{  $}}106    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w0107    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s64) = G_SITOFP [[COPY]](s32)108    ; CHECK-NEXT: $x0 = COPY [[SITOFP]](s64)109    %0:_(s32) = COPY $w0110    %1:_(s64) = G_SITOFP %0111    $x0 = COPY %1112...113 114---115name:            test_uitofp_s64_s32116body: |117  bb.0:118    liveins: $w0119    ; CHECK-LABEL: name: test_uitofp_s64_s32120    ; CHECK: liveins: $w0121    ; CHECK-NEXT: {{  $}}122    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w0123    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s64) = G_UITOFP [[COPY]](s32)124    ; CHECK-NEXT: $x0 = COPY [[UITOFP]](s64)125    %0:_(s32) = COPY $w0126    %1:_(s64) = G_UITOFP %0127    $x0 = COPY %1128...129 130---131name:            test_sitofp_s64_s64132body: |133  bb.0:134    liveins: $x0135    ; CHECK-LABEL: name: test_sitofp_s64_s64136    ; CHECK: liveins: $x0137    ; CHECK-NEXT: {{  $}}138    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x0139    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s64) = G_SITOFP [[COPY]](s64)140    ; CHECK-NEXT: $x0 = COPY [[SITOFP]](s64)141    %0:_(s64) = COPY $x0142    %1:_(s64) = G_SITOFP %0143    $x0 = COPY %1144...145 146---147name:            test_uitofp_s64_s64148body: |149  bb.0:150    liveins: $x0151    ; CHECK-LABEL: name: test_uitofp_s64_s64152    ; CHECK: liveins: $x0153    ; CHECK-NEXT: {{  $}}154    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x0155    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s64) = G_UITOFP [[COPY]](s64)156    ; CHECK-NEXT: $x0 = COPY [[UITOFP]](s64)157    %0:_(s64) = COPY $x0158    %1:_(s64) = G_UITOFP %0159    $x0 = COPY %1160...161 162 163---164name:            test_sitofp_s32_s1165body: |166  bb.0:167    liveins: $w0168    ; CHECK-LABEL: name: test_sitofp_s32_s1169    ; CHECK: liveins: $w0170    ; CHECK-NEXT: {{  $}}171    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w0172    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY]], 1173    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s32) = G_SITOFP [[SEXT_INREG]](s32)174    ; CHECK-NEXT: $w0 = COPY [[SITOFP]](s32)175    %0:_(s32) = COPY $w0176    %1:_(s1) = G_TRUNC %0177    %2:_(s32) = G_SITOFP %1178    $w0 = COPY %2179...180 181---182name:            test_uitofp_s32_s1183body: |184  bb.0:185    liveins: $w0186    ; CHECK-LABEL: name: test_uitofp_s32_s1187    ; CHECK: liveins: $w0188    ; CHECK-NEXT: {{  $}}189    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w0190    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1191    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]192    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s32) = G_UITOFP [[AND]](s32)193    ; CHECK-NEXT: $w0 = COPY [[UITOFP]](s32)194    %0:_(s32) = COPY $w0195    %1:_(s1) = G_TRUNC %0196    %2:_(s32) = G_UITOFP %1197    $w0 = COPY %2198...199 200---201name:            test_sitofp_s64_s8202body: |203  bb.0:204    liveins: $w0205    ; CHECK-LABEL: name: test_sitofp_s64_s8206    ; CHECK: liveins: $w0207    ; CHECK-NEXT: {{  $}}208    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w0209    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY]], 8210    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s64) = G_SITOFP [[SEXT_INREG]](s32)211    ; CHECK-NEXT: $x0 = COPY [[SITOFP]](s64)212    %0:_(s32) = COPY $w0213    %1:_(s8) = G_TRUNC %0214    %2:_(s64) = G_SITOFP %1215    $x0 = COPY %2216...217 218---219name:            test_uitofp_s64_s8220body: |221  bb.0:222    liveins: $w0223    ; CHECK-LABEL: name: test_uitofp_s64_s8224    ; CHECK: liveins: $w0225    ; CHECK-NEXT: {{  $}}226    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w0227    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 255228    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]229    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s64) = G_UITOFP [[AND]](s32)230    ; CHECK-NEXT: $x0 = COPY [[UITOFP]](s64)231    %0:_(s32) = COPY $w0232    %1:_(s8) = G_TRUNC %0233    %2:_(s64) = G_UITOFP %1234    $x0 = COPY %2235...236 237---238name:            test_sitofp_v4s32239body: |240  bb.0:241    liveins: $q0242    ; CHECK-LABEL: name: test_sitofp_v4s32243    ; CHECK: liveins: $q0244    ; CHECK-NEXT: {{  $}}245    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<4 x s32>) = COPY $q0246    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(<4 x s32>) = G_SITOFP [[SITOFP]](<4 x s32>)247    ; CHECK-NEXT: $q0 = COPY [[SITOFP]](<4 x s32>)248    %0:_(<4 x s32>) = COPY $q0249    %1:_(<4 x s32>) = G_SITOFP %1250    $q0 = COPY %1251...252 253---254name:            test_uitofp_v4s32255body: |256  bb.0:257    liveins: $q0258    ; CHECK-LABEL: name: test_uitofp_v4s32259    ; CHECK: liveins: $q0260    ; CHECK-NEXT: {{  $}}261    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<4 x s32>) = COPY $q0262    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(<4 x s32>) = G_UITOFP [[UITOFP]](<4 x s32>)263    ; CHECK-NEXT: $q0 = COPY [[UITOFP]](<4 x s32>)264    %0:_(<4 x s32>) = COPY $q0265    %1:_(<4 x s32>) = G_UITOFP %1266    $q0 = COPY %1267...268 269---270name:            test_uitofp_v2s64_v2i1271body: |272  bb.0:273    liveins: $q0274    ; CHECK-LABEL: name: test_uitofp_v2s64_v2i1275    ; CHECK: liveins: $q0276    ; CHECK-NEXT: {{  $}}277    ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(<2 x s64>) = G_IMPLICIT_DEF278    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 1279    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x s64>) = G_BUILD_VECTOR [[C]](s64), [[C]](s64)280    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(<2 x s64>) = G_AND [[DEF]], [[BUILD_VECTOR]]281    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(<2 x s64>) = G_UITOFP [[AND]](<2 x s64>)282    ; CHECK-NEXT: $q0 = COPY [[UITOFP]](<2 x s64>)283    %0:_(<2 x s1>) = G_IMPLICIT_DEF284    %1:_(<2 x s64>) = G_UITOFP %0285    $q0 = COPY %1286...287 288---289name:            test_sitofp_v2s64_v2i1290body: |291  bb.0:292    liveins: $q0293    ; CHECK-LABEL: name: test_sitofp_v2s64_v2i1294    ; CHECK: liveins: $q0295    ; CHECK-NEXT: {{  $}}296    ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(<2 x s64>) = G_IMPLICIT_DEF297    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(<2 x s64>) = G_SEXT_INREG [[DEF]], 1298    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(<2 x s64>) = G_SITOFP [[SEXT_INREG]](<2 x s64>)299    ; CHECK-NEXT: $q0 = COPY [[SITOFP]](<2 x s64>)300    %0:_(<2 x s1>) = G_IMPLICIT_DEF301    %1:_(<2 x s64>) = G_SITOFP %0302    $q0 = COPY %1303...304 305---306name:            test_sitofp_s32_s16307body: |308  bb.0:309    liveins: $w0310    ; CHECK-LABEL: name: test_sitofp_s32_s16311    ; CHECK: liveins: $w0312    ; CHECK-NEXT: {{  $}}313    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w0314    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY]], 16315    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s32) = G_SITOFP [[SEXT_INREG]](s32)316    ; CHECK-NEXT: $w0 = COPY [[SITOFP]](s32)317    %0:_(s32) = COPY $w0318    %1:_(s16) = G_TRUNC %0319    %2:_(s32) = G_SITOFP %1320    $w0 = COPY %2321...322 323---324name:            test_uitofp_s32_s16325body: |326  bb.0:327    liveins: $w0328    ; CHECK-LABEL: name: test_uitofp_s32_s16329    ; CHECK: liveins: $w0330    ; CHECK-NEXT: {{  $}}331    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w0332    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 65535333    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]334    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s32) = G_UITOFP [[AND]](s32)335    ; CHECK-NEXT: $w0 = COPY [[UITOFP]](s32)336    %0:_(s32) = COPY $w0337    %1:_(s16) = G_TRUNC %0338    %2:_(s32) = G_UITOFP %1339    $w0 = COPY %2340...341