brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 0fe4683 Raw
43 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc %s -o - -fast-isel=true -O1 -verify-machineinstrs | FileCheck %s3 4target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"5target triple = "arm64-apple-ios8.0.0"6 7; The machine verifier was asserting on this test because the AND instruction was8; sunk below the test which killed %tmp340.9; The kill flags on the test had to be cleared because the AND was going to read10; registers in a BB after the test instruction.11 12define i32 @test(ptr %ptr) {13; CHECK-LABEL: test:14; CHECK:       ; %bb.0: ; %bb15; CHECK-NEXT:    mov x8, x016; CHECK-NEXT:    mov w9, wzr17; CHECK-NEXT:  LBB0_1: ; %.thread18; CHECK-NEXT:    ; =>This Inner Loop Header: Depth=119; CHECK-NEXT:    lsr w11, w9, #120; CHECK-NEXT:    sub w10, w9, #121; CHECK-NEXT:    mov w9, w1122; CHECK-NEXT:    tbnz w10, #0, LBB0_123; CHECK-NEXT:  ; %bb.2: ; %bb34324; CHECK-NEXT:    and w9, w10, #0x125; CHECK-NEXT:    mov w0, #-1 ; =0xffffffff26; CHECK-NEXT:    str w9, [x8]27; CHECK-NEXT:    ret28bb:29  br label %.thread30 31.thread:                                          ; preds = %.thread, %bb32  %loc = phi i32 [ %next_iter, %.thread ], [ 0, %bb ]33  %next_iter = lshr i32 %loc, 134  %tmp340 = sub i32 %loc, 135  %tmp341 = and i32 %tmp340, 136  %tmp342 = icmp eq i32 %tmp341, 037  br i1 %tmp342, label %bb343, label %.thread38 39bb343:                                            ; preds = %.thread40  store i32 %tmp341, ptr %ptr, align 441  ret i32 -142}43