74 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64-- -verify-machineinstrs -run-pass=legalizer %s -o - | FileCheck %s3---4name: test_udivrem_645body: |6 bb.0.entry:7 ; CHECK-LABEL: name: test_udivrem_648 ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x09 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x110 ; CHECK-NEXT: [[UDIV:%[0-9]+]]:_(s64) = G_UDIV [[COPY]], [[COPY1]]11 ; CHECK-NEXT: [[MUL:%[0-9]+]]:_(s64) = G_MUL [[UDIV]], [[COPY1]]12 ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s64) = G_SUB [[COPY]], [[MUL]]13 ; CHECK-NEXT: $x0 = COPY [[UDIV]](s64)14 ; CHECK-NEXT: $x1 = COPY [[SUB]](s64)15 %0:_(s64) = COPY $x016 %1:_(s64) = COPY $x117 %2:_(s64), %3:_(s64) = G_UDIVREM %0, %118 $x0 = COPY %2(s64)19 $x1 = COPY %3(s64)20 21...22---23name: test_sdivrem_3224body: |25 bb.0.entry:26 ; CHECK-LABEL: name: test_sdivrem_3227 ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x028 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x129 ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)30 ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[COPY1]](s64)31 ; CHECK-NEXT: [[SDIV:%[0-9]+]]:_(s32) = G_SDIV [[TRUNC]], [[TRUNC1]]32 ; CHECK-NEXT: [[MUL:%[0-9]+]]:_(s32) = G_MUL [[SDIV]], [[TRUNC1]]33 ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[TRUNC]], [[MUL]]34 ; CHECK-NEXT: $w0 = COPY [[SDIV]](s32)35 ; CHECK-NEXT: $w1 = COPY [[SUB]](s32)36 %0:_(s64) = COPY $x037 %1:_(s64) = COPY $x138 %2:_(s32) = G_TRUNC %0(s64)39 %3:_(s32) = G_TRUNC %1(s64)40 %4:_(s32), %5:_(s32) = G_SDIVREM %2, %341 $w0 = COPY %4(s32)42 $w1 = COPY %5(s32)43 44...45---46name: test_sdivrem_847body: |48 bb.0.entry:49 ; CHECK-LABEL: name: test_sdivrem_850 ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x051 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x152 ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)53 ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[TRUNC]], 854 ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[COPY1]](s64)55 ; CHECK-NEXT: [[SEXT_INREG1:%[0-9]+]]:_(s32) = G_SEXT_INREG [[TRUNC1]], 856 ; CHECK-NEXT: [[SDIV:%[0-9]+]]:_(s32) = G_SDIV [[SEXT_INREG]], [[SEXT_INREG1]]57 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY [[TRUNC1]](s32)58 ; CHECK-NEXT: [[MUL:%[0-9]+]]:_(s32) = G_MUL [[SDIV]], [[COPY2]]59 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(s32) = COPY [[TRUNC]](s32)60 ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[COPY3]], [[MUL]]61 ; CHECK-NEXT: $w0 = COPY [[SDIV]](s32)62 ; CHECK-NEXT: $w1 = COPY [[SUB]](s32)63 %0:_(s64) = COPY $x064 %1:_(s64) = COPY $x165 %2:_(s8) = G_TRUNC %0(s64)66 %3:_(s8) = G_TRUNC %1(s64)67 %4:_(s8), %5:_(s8) = G_SDIVREM %2, %368 %6:_(s32) = G_ANYEXT %4(s8)69 %7:_(s32) = G_ANYEXT %5(s8)70 $w0 = COPY %6(s32)71 $w1 = COPY %7(s32)72 73...74