brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · 391069d Raw
79 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64-unknown-unknown -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s3#4# Test patterns related to logical_shifted_reg32/logical_shifted_reg64 which5# are not shared with arith_shifted_reg32/arith_shifted_reg64.6 7---8name:            and_xor_bicxrs9legalized:       true10regBankSelected: true11tracksRegLiveness: true12body:             |13  bb.0:14    liveins: $x015    ; CHECK-LABEL: name: and_xor_bicxrs16    ; CHECK: liveins: $x017    ; CHECK-NEXT: {{  $}}18    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x019    ; CHECK-NEXT: [[BICXrs:%[0-9]+]]:gpr64 = BICXrs [[COPY]], [[COPY]], 820    ; CHECK-NEXT: $x0 = COPY [[BICXrs]]21    ; CHECK-NEXT: RET_ReallyLR implicit $x022    %0:gpr(s64) = COPY $x023    %1:gpr(s64) = G_CONSTANT i64 824    %2:gpr(s64) = G_CONSTANT i64 -125    %3:gpr(s64) = G_SHL %0, %1:gpr(s64)26    %4:gpr(s64) = G_XOR %3, %2:gpr(s64)27    %5:gpr(s64) = G_AND %0, %4:gpr(s64)28    $x0 = COPY %5:gpr(s64)29    RET_ReallyLR implicit $x030...31---32name:            or_xor_ornxrs33legalized:       true34regBankSelected: true35tracksRegLiveness: true36body:             |37  bb.0:38    liveins: $x039    ; CHECK-LABEL: name: or_xor_ornxrs40    ; CHECK: liveins: $x041    ; CHECK-NEXT: {{  $}}42    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x043    ; CHECK-NEXT: [[ORNXrs:%[0-9]+]]:gpr64 = ORNXrs [[COPY]], [[COPY]], 844    ; CHECK-NEXT: $x0 = COPY [[ORNXrs]]45    ; CHECK-NEXT: RET_ReallyLR implicit $x046    %0:gpr(s64) = COPY $x047    %1:gpr(s64) = G_CONSTANT i64 848    %2:gpr(s64) = G_CONSTANT i64 -149    %3:gpr(s64) = G_SHL %0, %1:gpr(s64)50    %4:gpr(s64) = G_XOR %3, %2:gpr(s64)51    %5:gpr(s64) = G_OR %0, %4:gpr(s64)52    $x0 = COPY %5:gpr(s64)53    RET_ReallyLR implicit $x054...55---56name:            xor_xor_eonxrs57legalized:       true58regBankSelected: true59tracksRegLiveness: true60body:             |61  bb.0:62    liveins: $x063    ; CHECK-LABEL: name: xor_xor_eonxrs64    ; CHECK: liveins: $x065    ; CHECK-NEXT: {{  $}}66    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x067    ; CHECK-NEXT: [[EONXrs:%[0-9]+]]:gpr64 = EONXrs [[COPY]], [[COPY]], 868    ; CHECK-NEXT: $x0 = COPY [[EONXrs]]69    ; CHECK-NEXT: RET_ReallyLR implicit $x070    %0:gpr(s64) = COPY $x071    %1:gpr(s64) = G_CONSTANT i64 872    %2:gpr(s64) = G_CONSTANT i64 -173    %3:gpr(s64) = G_SHL %0, %1:gpr(s64)74    %4:gpr(s64) = G_XOR %3, %2:gpr(s64)75    %5:gpr(s64) = G_XOR %0, %4:gpr(s64)76    $x0 = COPY %5:gpr(s64)77    RET_ReallyLR implicit $x078...79