brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · f152536 Raw
57 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 62; RUN: llc -global-isel -o - %s | FileCheck %s3 4target triple = "aarch64-unknown-unknown"5 6; Check we don't crash here when computing known bits.7 8define <4 x i32> @test(<8 x i16> %in, i1 %continue) {9; CHECK-LABEL: test:10; CHECK:       // %bb.0: // %entry11; CHECK-NEXT:    sub sp, sp, #1612; CHECK-NEXT:    .cfi_def_cfa_offset 1613; CHECK-NEXT:    mov w12, wzr14; CHECK-NEXT:    mov x8, sp15; CHECK-NEXT:    mov w9, #2 // =0x216; CHECK-NEXT:    mov w10, #0 // =0x017; CHECK-NEXT:  .LBB0_1: // %loop18; CHECK-NEXT:    // =>This Inner Loop Header: Depth=119; CHECK-NEXT:    mov w11, w1220; CHECK-NEXT:    mov w12, w1221; CHECK-NEXT:    str q0, [sp]22; CHECK-NEXT:    and x12, x12, #0x723; CHECK-NEXT:    umull x12, w12, w924; CHECK-NEXT:    ldrb w12, [x8, x12]25; CHECK-NEXT:    cmp w12, #026; CHECK-NEXT:    cset w12, eq27; CHECK-NEXT:    fmov s1, w1228; CHECK-NEXT:    mov v1.b[1], w1029; CHECK-NEXT:    mov v1.b[2], w1030; CHECK-NEXT:    mov v1.b[3], w1031; CHECK-NEXT:    fmov w12, s132; CHECK-NEXT:    tbz w0, #0, .LBB0_133; CHECK-NEXT:  // %bb.2: // %exit34; CHECK-NEXT:    fmov s0, w1135; CHECK-NEXT:    mov v0.s[1], wzr36; CHECK-NEXT:    mov v0.s[2], wzr37; CHECK-NEXT:    mov v0.s[3], wzr38; CHECK-NEXT:    add sp, sp, #1639; CHECK-NEXT:    ret40entry:41  br label %loop42 43exit:44  %result = insertelement <4 x i32> zeroinitializer, i32 %index, i64 045  ret <4 x i32> %result46 47loop:48  %index = phi i32 [ 0, %entry ], [ %insert.bitcast, %loop ]49  %extracted = extractelement <8 x i16> %in, i32 %index50  %masked = and i16 %extracted, 25551  %maskedIsZero = icmp eq i16 %masked, 052  %maskedIsZero.zext = zext i1 %maskedIsZero to i853  %insert = insertelement <4 x i8> zeroinitializer, i8 %maskedIsZero.zext, i64 054  %insert.bitcast = bitcast <4 x i8> %insert to i3255  br i1 %continue, label %exit, label %loop56}57