brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.7 KiB · ae16e40 Raw
117 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -O0 -mtriple=aarch64 -run-pass=legalizer -global-isel-abort=1 -verify-machineinstrs %s -o - | FileCheck %s3---4name:            test_scmp5body:             |6  bb.0.entry:7    ; CHECK-LABEL: name: test_scmp8    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x09    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x010    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sgt), [[COPY]](s64), [[COPY1]]11    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(slt), [[COPY]](s64), [[COPY1]]12    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 113    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 014    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[C]], [[C1]]15    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 316    ; CHECK-NEXT: [[SELECT1:%[0-9]+]]:_(s32) = G_SELECT [[ICMP1]](s32), [[C2]], [[SELECT]]17    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[SELECT1]], 218    ; CHECK-NEXT: $w0 = COPY [[SEXT_INREG]](s32)19    %0:_(s64) = COPY $x020    %1:_(s64) = COPY $x021    %4:_(s2) = G_SCMP %0(s64), %122    %14:_(s32) = G_SEXT %4(s2)23    $w0 = COPY %14(s32)24 25...26---27name:            test_ucmp28body:             |29  bb.0.entry:30    ; CHECK-LABEL: name: test_ucmp31    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x032    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x033    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[COPY]](s64), [[COPY1]]34    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[COPY]](s64), [[COPY1]]35    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 136    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 037    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[C]], [[C1]]38    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 339    ; CHECK-NEXT: [[SELECT1:%[0-9]+]]:_(s32) = G_SELECT [[ICMP1]](s32), [[C2]], [[SELECT]]40    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[SELECT1]], 241    ; CHECK-NEXT: $w0 = COPY [[SEXT_INREG]](s32)42    %0:_(s64) = COPY $x043    %1:_(s64) = COPY $x044    %4:_(s2) = G_UCMP %0(s64), %145    %14:_(s32) = G_SEXT %4(s2)46    $w0 = COPY %14(s32)47 48...49---50name:            test_ucmp_vector51body:             |52  bb.0.entry:53    ; CHECK-LABEL: name: test_ucmp_vector54    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w055    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $w156    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $w257    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(s32) = COPY $w358    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<4 x s32>) = G_BUILD_VECTOR [[COPY]](s32), [[COPY1]](s32), [[COPY2]](s32), [[COPY3]](s32)59    ; CHECK-NEXT: [[COPY4:%[0-9]+]]:_(s32) = COPY $w060    ; CHECK-NEXT: [[COPY5:%[0-9]+]]:_(s32) = COPY $w161    ; CHECK-NEXT: [[COPY6:%[0-9]+]]:_(s32) = COPY $w262    ; CHECK-NEXT: [[COPY7:%[0-9]+]]:_(s32) = COPY $w363    ; CHECK-NEXT: [[BUILD_VECTOR1:%[0-9]+]]:_(<4 x s32>) = G_BUILD_VECTOR [[COPY]](s32), [[COPY1]](s32), [[COPY2]](s32), [[COPY3]](s32)64    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(<4 x s32>) = G_ICMP intpred(ugt), [[BUILD_VECTOR]](<4 x s32>), [[BUILD_VECTOR1]]65    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(<4 x s32>) = G_ICMP intpred(ult), [[BUILD_VECTOR]](<4 x s32>), [[BUILD_VECTOR1]]66    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(<4 x s16>) = G_TRUNC [[ICMP1]](<4 x s32>)67    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(<4 x s16>) = G_TRUNC [[ICMP]](<4 x s32>)68    ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(<4 x s16>) = G_SUB [[TRUNC]], [[TRUNC1]]69    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(<4 x s32>) = G_ANYEXT [[SUB]](<4 x s16>)70    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(<4 x s32>) = G_SEXT_INREG [[ANYEXT]], 271    ; CHECK-NEXT: $q0 = COPY [[SEXT_INREG]](<4 x s32>)72    %0:_(s32) = COPY $w073    %1:_(s32) = COPY $w174    %2:_(s32) = COPY $w275    %3:_(s32) = COPY $w376    %4:_(<4 x s32>) = G_BUILD_VECTOR %0(s32), %1(s32), %2(s32), %3(s32)77    %5:_(s32) = COPY $w078    %6:_(s32) = COPY $w179    %7:_(s32) = COPY $w280    %8:_(s32) = COPY $w381    %9:_(<4 x s32>) = G_BUILD_VECTOR %0(s32), %1(s32), %2(s32), %3(s32)82    %10:_(<4 x s2>) = G_UCMP %4(<4 x s32>), %983    %11:_(<4 x s32>) = G_SEXT %10(<4 x s2>)84    $q0 = COPY %11(<4 x s32>)85 86...87---88name:            test_ucmp_i12889body:             |90  bb.0.entry:91    ; CHECK-LABEL: name: test_ucmp_i12892    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x093    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x094    ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF95    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[COPY]](s64), [[COPY1]]96    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[DEF]](s64), [[DEF]]97    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[DEF]](s64), [[DEF]]98    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]99    ; CHECK-NEXT: [[ICMP3:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[COPY]](s64), [[COPY1]]100    ; CHECK-NEXT: [[ICMP4:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[DEF]](s64), [[DEF]]101    ; CHECK-NEXT: [[ICMP5:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[DEF]](s64), [[DEF]]102    ; CHECK-NEXT: [[SELECT1:%[0-9]+]]:_(s32) = G_SELECT [[ICMP5]](s32), [[ICMP3]], [[ICMP4]]103    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1104    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 0105    ; CHECK-NEXT: [[SELECT2:%[0-9]+]]:_(s32) = G_SELECT [[SELECT]](s32), [[C]], [[C1]]106    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 3107    ; CHECK-NEXT: [[SELECT3:%[0-9]+]]:_(s32) = G_SELECT [[SELECT1]](s32), [[C2]], [[SELECT2]]108    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[SELECT3]], 2109    ; CHECK-NEXT: $w0 = COPY [[SEXT_INREG]](s32)110    %0:_(s64) = COPY $x0111    %1:_(s64) = COPY $x0112    %l:_(s128) = G_ANYEXT %0113    %r:_(s128) = G_ANYEXT %1114    %4:_(s2) = G_UCMP %l(s128), %r115    %14:_(s32) = G_SEXT %4(s2)116    $w0 = COPY %14(s32)117