1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -verify-machineinstrs -mtriple aarch64-unknown-unknown -run-pass=legalizer %s -o - | FileCheck %s 3--- 4name: testmsws 5alignment: 4 6tracksRegLiveness: true 7liveins: 8 - { reg: '$s0' } 9body: | 10 bb.1: 11 liveins: $s0 12 13 ; CHECK-LABEL: name: testmsws 14 ; CHECK: liveins: $s0 15 ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $s0 16 ; CHECK: [[INTRINSIC_LRINT:%[0-9]+]]:_(s64) = G_INTRINSIC_LRINT [[COPY]](s32) 17 ; CHECK: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[INTRINSIC_LRINT]](s64) 18 ; CHECK: $w0 = COPY [[TRUNC]](s32) 19 ; CHECK: RET_ReallyLR implicit $w0 20 %0:_(s32) = COPY $s0 21 %1:_(s64) = G_INTRINSIC_LRINT %0(s32) 22 %2:_(s32) = G_TRUNC %1(s64) 23 $w0 = COPY %2(s32) 24 RET_ReallyLR implicit $w0 25 26... 27--- 28name: testmsxs 29alignment: 4 30tracksRegLiveness: true 31liveins: 32 - { reg: '$s0' } 33body: | 34 bb.1: 35 liveins: $s0 36 37 ; CHECK-LABEL: name: testmsxs 38 ; CHECK: liveins: $s0 39 ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $s0 40 ; CHECK: [[INTRINSIC_LRINT:%[0-9]+]]:_(s64) = G_INTRINSIC_LRINT [[COPY]](s32) 41 ; CHECK: $x0 = COPY [[INTRINSIC_LRINT]](s64) 42 ; CHECK: RET_ReallyLR implicit $x0 43 %0:_(s32) = COPY $s0 44 %1:_(s64) = G_INTRINSIC_LRINT %0(s32) 45 $x0 = COPY %1(s64) 46 RET_ReallyLR implicit $x0 47 48... 49--- 50name: testmswd 51alignment: 4 52tracksRegLiveness: true 53liveins: 54 - { reg: '$d0' } 55body: | 56 bb.1: 57 liveins: $d0 58 59 ; CHECK-LABEL: name: testmswd 60 ; CHECK: liveins: $d0 61 ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $d0 62 ; CHECK: [[INTRINSIC_LRINT:%[0-9]+]]:_(s64) = G_INTRINSIC_LRINT [[COPY]](s64) 63 ; CHECK: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[INTRINSIC_LRINT]](s64) 64 ; CHECK: $w0 = COPY [[TRUNC]](s32) 65 ; CHECK: RET_ReallyLR implicit $w0 66 %0:_(s64) = COPY $d0 67 %1:_(s64) = G_INTRINSIC_LRINT %0(s64) 68 %2:_(s32) = G_TRUNC %1(s64) 69 $w0 = COPY %2(s32) 70 RET_ReallyLR implicit $w0 71 72... 73--- 74name: testmsxd 75alignment: 4 76tracksRegLiveness: true 77liveins: 78 - { reg: '$d0' } 79body: | 80 bb.1: 81 liveins: $d0 82 83 ; CHECK-LABEL: name: testmsxd 84 ; CHECK: liveins: $d0 85 ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $d0 86 ; CHECK: [[INTRINSIC_LRINT:%[0-9]+]]:_(s64) = G_INTRINSIC_LRINT [[COPY]](s64) 87 ; CHECK: $x0 = COPY [[INTRINSIC_LRINT]](s64) 88 ; CHECK: RET_ReallyLR implicit $x0 89 %0:_(s64) = COPY $d0 90 %1:_(s64) = G_INTRINSIC_LRINT %0(s64) 91 $x0 = COPY %1(s64) 92 RET_ReallyLR implicit $x0 93 94... 95