brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 0fc8b9a Raw
50 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 62; RUN: llc < %s -mtriple=aarch64 -mattr=+neon | FileCheck %s --check-prefixes=CHECK,CHECK-SD3; RUN: llc < %s -mtriple=aarch64 -mattr=+neon -global-isel -global-isel-abort=2 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-GI4 5; CHECK-GI:       warning: Instruction selection used fallback path for testmhhs6; CHECK-GI-NEXT:  warning: Instruction selection used fallback path for testmhws7; CHECK-GI-NEXT:  warning: Instruction selection used fallback path for testmhxs8 9define i16 @testmhhs(half %x) {10; CHECK-LABEL: testmhhs:11; CHECK:       // %bb.0: // %entry12; CHECK-NEXT:    fcvt s0, h013; CHECK-NEXT:    frintx s0, s014; CHECK-NEXT:    fcvtzs w0, s015; CHECK-NEXT:    ret16entry:17  %0 = tail call i32 @llvm.lrint.i32.f16(half %x)18  %conv = trunc i32 %0 to i1619  ret i16 %conv20}21 22define i32 @testmhws(half %x) {23; CHECK-LABEL: testmhws:24; CHECK:       // %bb.0: // %entry25; CHECK-NEXT:    fcvt s0, h026; CHECK-NEXT:    frintx s0, s027; CHECK-NEXT:    fcvtzs w0, s028; CHECK-NEXT:    ret29entry:30  %0 = tail call i32 @llvm.lrint.i32.f16(half %x)31  ret i32 %032}33 34define i64 @testmhxs(half %x) {35; CHECK-LABEL: testmhxs:36; CHECK:       // %bb.0: // %entry37; CHECK-NEXT:    fcvt s0, h038; CHECK-NEXT:    frintx s0, s039; CHECK-NEXT:    fcvtzs w8, s040; CHECK-NEXT:    sxtw x0, w841; CHECK-NEXT:    ret42entry:43  %0 = tail call i32 @llvm.lrint.i32.f16(half %x)44  %conv = sext i32 %0 to i6445  ret i64 %conv46}47;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:48; CHECK-GI: {{.*}}49; CHECK-SD: {{.*}}50