1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=ve -mattr=+vpu | FileCheck %s
4 ;;; Test extract intrinsic instructions
7 ;;; We test extract_vm512u and extract_vm512l pseudo instructions.
9 ; Function Attrs: nounwind readnone
10 define fastcc <256 x i1> @extract_vm512u(<512 x i1> %0) {
11 ; CHECK-LABEL: extract_vm512u:
13 ; CHECK-NEXT: andm %vm1, %vm0, %vm2
14 ; CHECK-NEXT: b.l.t (, %s10)
15 %2 = tail call <256 x i1> @llvm.ve.vl.extract.vm512u(<512 x i1> %0)
19 ; Function Attrs: nounwind readnone
20 declare <256 x i1> @llvm.ve.vl.extract.vm512u(<512 x i1>)
22 ; Function Attrs: nounwind readnone
23 define fastcc <256 x i1> @extract_vm512l(<512 x i1> %0) {
24 ; CHECK-LABEL: extract_vm512l:
26 ; CHECK-NEXT: andm %vm1, %vm0, %vm3
27 ; CHECK-NEXT: b.l.t (, %s10)
28 %2 = tail call <256 x i1> @llvm.ve.vl.extract.vm512l(<512 x i1> %0)
32 ; Function Attrs: nounwind readnone
33 declare <256 x i1> @llvm.ve.vl.extract.vm512l(<512 x i1>)