114 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s3 4...5---6name: sbfx_s327legalized: true8regBankSelected: true9tracksRegLiveness: true10body: |11 bb.0:12 liveins: $w013 ; CHECK-LABEL: name: sbfx_s3214 ; CHECK: liveins: $w015 ; CHECK-NEXT: {{ $}}16 ; CHECK-NEXT: %copy:gpr32 = COPY $w017 ; CHECK-NEXT: %sbfx:gpr32 = SBFMWri %copy, 0, 918 ; CHECK-NEXT: $w0 = COPY %sbfx19 ; CHECK-NEXT: RET_ReallyLR implicit $w020 %copy:gpr(s32) = COPY $w021 %cst1:gpr(s32) = G_CONSTANT i32 022 %cst2:gpr(s32) = G_CONSTANT i32 1023 %sbfx:gpr(s32) = G_SBFX %copy, %cst1, %cst224 $w0 = COPY %sbfx25 RET_ReallyLR implicit $w026 27...28---29name: sbfx_s6430legalized: true31regBankSelected: true32tracksRegLiveness: true33body: |34 bb.0:35 liveins: $x036 ; CHECK-LABEL: name: sbfx_s6437 ; CHECK: liveins: $x038 ; CHECK-NEXT: {{ $}}39 ; CHECK-NEXT: %copy:gpr64 = COPY $x040 ; CHECK-NEXT: %sbfx:gpr64 = SBFMXri %copy, 0, 941 ; CHECK-NEXT: $x0 = COPY %sbfx42 ; CHECK-NEXT: RET_ReallyLR implicit $x043 %copy:gpr(s64) = COPY $x044 %cst1:gpr(s64) = G_CONSTANT i64 045 %cst2:gpr(s64) = G_CONSTANT i64 1046 %sbfx:gpr(s64) = G_SBFX %copy, %cst1, %cst247 $x0 = COPY %sbfx48 RET_ReallyLR implicit $x049 50...51---52name: sbfx_s32_31_153legalized: true54regBankSelected: true55tracksRegLiveness: true56body: |57 bb.0:58 liveins: $w059 ; This is just an asr, so it's okay.60 61 ; CHECK-LABEL: name: sbfx_s32_31_162 ; CHECK: liveins: $w063 ; CHECK-NEXT: {{ $}}64 ; CHECK-NEXT: %copy:gpr32 = COPY $w065 ; CHECK-NEXT: %sbfx:gpr32 = SBFMWri %copy, 31, 3166 ; CHECK-NEXT: $w0 = COPY %sbfx67 ; CHECK-NEXT: RET_ReallyLR implicit $w068 %copy:gpr(s32) = COPY $w069 %cst1:gpr(s32) = G_CONSTANT i32 3170 %cst2:gpr(s32) = G_CONSTANT i32 171 %sbfx:gpr(s32) = G_SBFX %copy, %cst1, %cst272 $w0 = COPY %sbfx73 RET_ReallyLR implicit $w074---75name: sbfx_s32_10_576legalized: true77regBankSelected: true78tracksRegLiveness: true79body: |80 bb.0:81 liveins: $w082 ; CHECK-LABEL: name: sbfx_s32_10_583 ; CHECK: liveins: $w084 ; CHECK: %copy:gpr32 = COPY $w085 ; CHECK: %sbfx:gpr32 = SBFMWri %copy, 10, 1486 ; CHECK: $w0 = COPY %sbfx87 ; CHECK: RET_ReallyLR implicit $w088 %copy:gpr(s32) = COPY $w089 %cst1:gpr(s32) = G_CONSTANT i32 1090 %cst2:gpr(s32) = G_CONSTANT i32 591 %sbfx:gpr(s32) = G_SBFX %copy, %cst1, %cst292 $w0 = COPY %sbfx93 RET_ReallyLR implicit $w094---95name: sbfx_s64_10_596legalized: true97regBankSelected: true98tracksRegLiveness: true99body: |100 bb.0:101 liveins: $x0102 ; CHECK-LABEL: name: sbfx_s64_10_5103 ; CHECK: liveins: $x0104 ; CHECK: %copy:gpr64 = COPY $x0105 ; CHECK: %sbfx:gpr64 = SBFMXri %copy, 10, 14106 ; CHECK: $x0 = COPY %sbfx107 ; CHECK: RET_ReallyLR implicit $x0108 %copy:gpr(s64) = COPY $x0109 %cst1:gpr(s64) = G_CONSTANT i64 10110 %cst2:gpr(s64) = G_CONSTANT i64 5111 %sbfx:gpr(s64) = G_SBFX %copy, %cst1, %cst2112 $x0 = COPY %sbfx113 RET_ReallyLR implicit $x0114