brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 3a83edb Raw
41 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: llc < %s -mtriple=aarch64-linux-gnu -mattr=+sve | FileCheck %s3 4declare i32 @llvm.experimental.get.vector.length.i16(i16, i32, i1)5declare i32 @llvm.experimental.get.vector.length.i32(i32, i32, i1)6declare i32 @llvm.experimental.get.vector.length.i64(i64, i32, i1)7 8define i32 @vector_length_i16(i16 zeroext %tc) {9; CHECK-LABEL: vector_length_i16:10; CHECK:       // %bb.0:11; CHECK-NEXT:    cntd x812; CHECK-NEXT:    cmp w0, w813; CHECK-NEXT:    csel w0, w0, w8, lo14; CHECK-NEXT:    ret15  %a = call i32 @llvm.experimental.get.vector.length.i16(i16 %tc, i32 2, i1 true)16  ret i32 %a17}18 19define i32 @vector_length_i32(i32 zeroext %tc) {20; CHECK-LABEL: vector_length_i32:21; CHECK:       // %bb.0:22; CHECK-NEXT:    cntd x823; CHECK-NEXT:    cmp w0, w824; CHECK-NEXT:    csel w0, w0, w8, lo25; CHECK-NEXT:    ret26  %a = call i32 @llvm.experimental.get.vector.length.i32(i32 %tc, i32 2, i1 true)27  ret i32 %a28}29 30define i32 @vector_length_i64(i64 %tc) {31; CHECK-LABEL: vector_length_i64:32; CHECK:       // %bb.0:33; CHECK-NEXT:    cntd x834; CHECK-NEXT:    cmp x0, x835; CHECK-NEXT:    csel x0, x0, x8, lo36; CHECK-NEXT:    // kill: def $w0 killed $w0 killed $x037; CHECK-NEXT:    ret38  %a = call i32 @llvm.experimental.get.vector.length.i64(i64 %tc, i32 2, i1 true)39  ret i32 %a40}41