brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · d57411f Raw
44 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s3 4declare void @use(<1 x i16>)5 6define i16 @basic(ptr %p) {7; CHECK-LABEL: basic:8; CHECK:       # %bb.0:9; CHECK-NEXT:    movswl (%rdi), %eax10; CHECK-NEXT:    movl %eax, %ecx11; CHECK-NEXT:    sarl %cl, %eax12; CHECK-NEXT:    # kill: def $ax killed $ax killed $eax13; CHECK-NEXT:    retq14  %v = load i16, ptr %p15  %s = ashr i16 %v, %v16  ret i16 %s17}18 19define void @crash(i1 %cond, ptr %p) {20; CHECK-LABEL: crash:21; CHECK:       # %bb.0:22; CHECK-NEXT:    .p2align 423; CHECK-NEXT:  .LBB1_1: # %loop24; CHECK-NEXT:    # =>This Inner Loop Header: Depth=125; CHECK-NEXT:    testb $1, %dil26; CHECK-NEXT:    jne .LBB1_127; CHECK-NEXT:  # %bb.2: # %exit28; CHECK-NEXT:    retq29  br label %loop30 31loop:32  %v = load <1 x i16>, ptr %p, align 233  %ins = insertelement <4 x double> zeroinitializer, double 0.000000e+00, i32 034  %cmp = fcmp uge <4 x double> %ins, zeroinitializer35  %ashr = ashr <1 x i16> %v, %v36  %shuf = shufflevector <4 x i1> %cmp, <4 x i1> zeroinitializer, <4 x i32> zeroinitializer37  br i1 %cond, label %loop, label %exit38 39exit:40  %use1 = add <4 x i1> %shuf, zeroinitializer41  %use2 = add <1 x i16> %ashr, zeroinitializer42  ret void43}44