[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / arm64-vselect.ll
blob45fe47363fc6dcf96aeb72ca567de6dde0f8f412
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=arm64-eabi -aarch64-neon-syntax=apple | FileCheck %s
4 %T0_63 = type <4 x i16>
5 %T1_63 = type <4 x i32>
6 %T2_63 = type <4 x i1>
7 define void @func63(ptr %out, %T0_63 %v0, %T0_63 %v1, %T1_63 %v2, %T1_63 %v3) {
8 ; CHECK-LABEL: func63:
9 ; CHECK:       // %bb.0:
10 ; CHECK-NEXT:    cmeq.4h v0, v0, v1
11 ; CHECK-NEXT:    sshll.4s v0, v0, #0
12 ; CHECK-NEXT:    bsl.16b v0, v2, v3
13 ; CHECK-NEXT:    str q0, [x0]
14 ; CHECK-NEXT:    ret
15   %cond = icmp eq %T0_63 %v0, %v1
16   %r = select %T2_63 %cond, %T1_63 %v2, %T1_63 %v3
17   store %T1_63 %r, ptr %out
18   ret void