50 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple aarch64 -run-pass=aarch64-prelegalizer-combiner -verify-machineinstrs %s -o - | FileCheck %s3 4name: pat15tracksRegLiveness: true6body: |7 bb.0:8 liveins: $x0, $x19 ; Fold ((0-A) + B) -> B - A10 ; CHECK-LABEL: name: pat111 ; CHECK: liveins: $x0, $x112 ; CHECK: %copy1:_(s64) = COPY $x013 ; CHECK: %copy2:_(s64) = COPY $x114 ; CHECK: %add:_(s64) = G_SUB %copy2, %copy115 ; CHECK: $x0 = COPY %add(s64)16 ; CHECK: RET_ReallyLR implicit $x017 %copy1:_(s64) = COPY $x018 %copy2:_(s64) = COPY $x119 %zero:_(s64) = G_CONSTANT i64 020 %sub:_(s64) = G_SUB %zero, %copy121 %add:_(s64) = G_ADD %sub, %copy222 $x0 = COPY %add(s64)23 RET_ReallyLR implicit $x024 25...26---27name: pat228tracksRegLiveness: true29body: |30 bb.0:31 liveins: $x0, $x132 ; Fold (A + (0-B)) -> A - B33 ; CHECK-LABEL: name: pat234 ; CHECK: liveins: $x0, $x135 ; CHECK-NEXT: {{ $}}36 ; CHECK-NEXT: %copy1:_(s64) = COPY $x037 ; CHECK-NEXT: %copy2:_(s64) = COPY $x138 ; CHECK-NEXT: %add:_(s64) = G_SUB %copy1, %copy239 ; CHECK-NEXT: $x0 = COPY %add(s64)40 ; CHECK-NEXT: RET_ReallyLR implicit $x041 %copy1:_(s64) = COPY $x042 %copy2:_(s64) = COPY $x143 %zero:_(s64) = G_CONSTANT i64 044 %sub:_(s64) = G_SUB %zero, %copy245 %add:_(s64) = G_ADD %copy1, %sub46 $x0 = COPY %add(s64)47 RET_ReallyLR implicit $x048 49...50