• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -mtriple aarch64-unknown-unknown -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s
3...
4---
5name:            fold_trunc
6alignment:       4
7legalized:       true
8regBankSelected: true
9tracksRegLiveness: true
10body:             |
11  ; CHECK-LABEL: name: fold_trunc
12  ; CHECK: bb.0:
13  ; CHECK:   successors: %bb.0(0x40000000), %bb.1(0x40000000)
14  ; CHECK:   liveins: $x0
15  ; CHECK:   %copy:gpr64all = COPY $x0
16  ; CHECK:   [[COPY:%[0-9]+]]:gpr32all = COPY %copy.sub_32
17  ; CHECK:   [[COPY1:%[0-9]+]]:gpr32 = COPY [[COPY]]
18  ; CHECK:   TBNZW [[COPY1]], 3, %bb.1
19  ; CHECK:   B %bb.0
20  ; CHECK: bb.1:
21  ; CHECK:   RET_ReallyLR
22  bb.0:
23    successors: %bb.0, %bb.1
24    liveins: $x0
25    %copy:gpr(s64) = COPY $x0
26    %bit:gpr(s32) = G_CONSTANT i32 8
27    %zero:gpr(s32) = G_CONSTANT i32 0
28    %fold_me:gpr(s32) = G_TRUNC %copy(s64)
29    %and:gpr(s32) = G_AND %fold_me, %bit
30    %cmp:gpr(s32) = G_ICMP intpred(ne), %and(s32), %zero
31    %cmp_trunc:gpr(s1) = G_TRUNC %cmp(s32)
32    G_BRCOND %cmp_trunc(s1), %bb.1
33    G_BR %bb.0
34  bb.1:
35    RET_ReallyLR
36