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: ubfx_s327legalized: true8regBankSelected: true9tracksRegLiveness: true10body: |11 bb.0:12 liveins: $w013 ; CHECK-LABEL: name: ubfx_s3214 ; CHECK: liveins: $w015 ; CHECK: %copy:gpr32 = COPY $w016 ; CHECK: %ubfx:gpr32 = UBFMWri %copy, 0, 917 ; CHECK: $w0 = COPY %ubfx18 ; CHECK: RET_ReallyLR implicit $w019 %copy:gpr(s32) = COPY $w020 %cst1:gpr(s32) = G_CONSTANT i32 021 %cst2:gpr(s32) = G_CONSTANT i32 1022 %ubfx:gpr(s32) = G_UBFX %copy, %cst1, %cst223 $w0 = COPY %ubfx24 RET_ReallyLR implicit $w025 26...27---28name: ubfx_s6429legalized: true30regBankSelected: true31tracksRegLiveness: true32body: |33 bb.0:34 liveins: $x035 ; CHECK-LABEL: name: ubfx_s6436 ; CHECK: liveins: $x037 ; CHECK: %copy:gpr64 = COPY $x038 ; CHECK: %ubfx:gpr64 = UBFMXri %copy, 0, 939 ; CHECK: $x0 = COPY %ubfx40 ; CHECK: RET_ReallyLR implicit $x041 %copy:gpr(s64) = COPY $x042 %cst1:gpr(s64) = G_CONSTANT i64 043 %cst2:gpr(s64) = G_CONSTANT i64 1044 %ubfx:gpr(s64) = G_UBFX %copy, %cst1, %cst245 $x0 = COPY %ubfx46 RET_ReallyLR implicit $x047 48...49---50name: ubfx_s32_31_151legalized: true52regBankSelected: true53tracksRegLiveness: true54body: |55 bb.0:56 liveins: $w057 58 ; This is just a lsr, so it's okay.59 60 ; CHECK-LABEL: name: ubfx_s32_31_161 ; CHECK: liveins: $w062 ; CHECK: %copy:gpr32 = COPY $w063 ; CHECK: %ubfx:gpr32 = UBFMWri %copy, 31, 3164 ; CHECK: $w0 = COPY %ubfx65 ; CHECK: RET_ReallyLR implicit $w066 %copy:gpr(s32) = COPY $w067 %cst1:gpr(s32) = G_CONSTANT i32 3168 %cst2:gpr(s32) = G_CONSTANT i32 169 %ubfx:gpr(s32) = G_UBFX %copy, %cst1, %cst270 $w0 = COPY %ubfx71 RET_ReallyLR implicit $w072---73name: ubfx_s32_10_574legalized: true75regBankSelected: true76tracksRegLiveness: true77body: |78 bb.0:79 liveins: $w080 ; CHECK-LABEL: name: ubfx_s32_10_581 ; CHECK: liveins: $w082 ; CHECK: %copy:gpr32 = COPY $w083 ; CHECK: %ubfx:gpr32 = UBFMWri %copy, 10, 1484 ; CHECK: $w0 = COPY %ubfx85 ; CHECK: RET_ReallyLR implicit $w086 %copy:gpr(s32) = COPY $w087 %cst1:gpr(s32) = G_CONSTANT i32 1088 %cst2:gpr(s32) = G_CONSTANT i32 589 %ubfx:gpr(s32) = G_UBFX %copy, %cst1, %cst290 $w0 = COPY %ubfx91 RET_ReallyLR implicit $w092 93...94---95name: ubfx_s64_10_596legalized: true97regBankSelected: true98tracksRegLiveness: true99body: |100 bb.0:101 liveins: $x0102 ; CHECK-LABEL: name: ubfx_s64_10_5103 ; CHECK: liveins: $x0104 ; CHECK: %copy:gpr64 = COPY $x0105 ; CHECK: %ubfx:gpr64 = UBFMXri %copy, 10, 14106 ; CHECK: $x0 = COPY %ubfx107 ; CHECK: RET_ReallyLR implicit $x0108 %copy:gpr(s64) = COPY $x0109 %cst1:gpr(s64) = G_CONSTANT i64 10110 %cst2:gpr(s64) = G_CONSTANT i64 5111 %ubfx:gpr(s64) = G_UBFX %copy, %cst1, %cst2112 $x0 = COPY %ubfx113 RET_ReallyLR implicit $x0114