[ARM] Adjust how NEON shifts are lowered
[llvm-core.git] / test / CodeGen / ARM / pr32578.ll
blobb46bb5e8cbf96aa7d9b03998ba7c9d5c84379c19
1 ; RUN: llc -o - %s | FileCheck %s
2 target triple = "armv7"
4 ; CHECK-LABEL: func:
5 ; CHECK: push {r11, lr}
6 ; CHECK: vpush {d8}
7 ; CHECK: .LBB0_1: @ %tailrecurse
8 define arm_aapcscc double @func() {
9   br label %tailrecurse
11 tailrecurse:
12   %v0 = load i16, i16* undef, align 8
13   %cond36.i = icmp eq i16 %v0, 3
14   br i1 %cond36.i, label %sw.bb.i, label %sw.epilog.i
16 sw.bb.i:
17   %v1 = load double, double* undef, align 8
18   %call21.i = tail call arm_aapcscc double @func()
19   %mul.i = fmul double %v1, %call21.i
20   ret double %mul.i
22 sw.epilog.i:
23   tail call arm_aapcscc void @_ZNK10shared_ptrdeEv()
24   br label %tailrecurse
27 declare arm_aapcscc void @_ZNK10shared_ptrdeEv() local_unnamed_addr