brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · f3f541a Raw
52 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -mcpu=corei7 | FileCheck %s3 4; Check that a <4 x float> compare is generated and that we are5; not stuck in an endless loop.6 7define void @cmp_2_floats(<2 x float> %a, <2 x float> %b, <2 x float> %c) {8; CHECK-LABEL: cmp_2_floats:9; CHECK:       # %bb.0: # %entry10; CHECK-NEXT:    movaps %xmm0, %xmm311; CHECK-NEXT:    cmpordps %xmm2, %xmm212; CHECK-NEXT:    movaps %xmm2, %xmm013; CHECK-NEXT:    blendvps %xmm0, %xmm3, %xmm114; CHECK-NEXT:    movlps %xmm1, (%rax)15; CHECK-NEXT:    retq16entry:17  %0 = fcmp oeq <2 x float> %c, %c18  %1 = select <2 x i1> %0, <2 x float> %a, <2 x float> %b19  store <2 x float> %1, ptr undef20  ret void21}22 23define void @cmp_2_doubles(<2 x double> %a, <2 x double> %b, <2 x double> %c) {24; CHECK-LABEL: cmp_2_doubles:25; CHECK:       # %bb.0: # %entry26; CHECK-NEXT:    movapd %xmm0, %xmm327; CHECK-NEXT:    cmpordpd %xmm2, %xmm228; CHECK-NEXT:    movapd %xmm2, %xmm029; CHECK-NEXT:    blendvpd %xmm0, %xmm3, %xmm130; CHECK-NEXT:    movapd %xmm1, (%rax)31; CHECK-NEXT:    retq32entry:33  %0 = fcmp oeq <2 x double> %c, %c34  %1 = select <2 x i1> %0, <2 x double> %a, <2 x double> %b35  store <2 x double> %1, ptr undef36  ret void37}38 39define void @mp_11193(ptr nocapture %aFOO, ptr nocapture %RET) nounwind {40; CHECK-LABEL: mp_11193:41; CHECK:       # %bb.0: # %allocas42; CHECK-NEXT:    movl $-1082130432, (%rsi) # imm = 0xBF80000043; CHECK-NEXT:    retq44allocas:45  %bincmp = fcmp olt <8 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 9.000000e+00, float 1.000000e+00, float 9.000000e+00, float 1.000000e+00> , <float 3.000000e+00, float 3.000000e+00, float 3.000000e+00, float 3.000000e+00, float 3.000000e+00, float 3.000000e+00, float 3.000000e+00, float 3.000000e+00>46  %t = extractelement <8 x i1> %bincmp, i32 047  %ft = sitofp i1 %t to float48  store float %ft, ptr %RET49  ret void50}51 52