brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 4b17824 Raw
73 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 %s3; RUN: llc < %s -mtriple=aarch64 -mattr=+neon -global-isel | FileCheck %s4 5define i32 @testmsws(float %x) {6; CHECK-LABEL: testmsws:7; CHECK:       // %bb.0: // %entry8; CHECK-NEXT:    fcvtas x0, s09; CHECK-NEXT:    // kill: def $w0 killed $w0 killed $x010; CHECK-NEXT:    ret11entry:12  %0 = tail call i64 @llvm.lround.i64.f32(float %x)13  %conv = trunc i64 %0 to i3214  ret i32 %conv15}16 17define i64 @testmsxs(float %x) {18; CHECK-LABEL: testmsxs:19; CHECK:       // %bb.0: // %entry20; CHECK-NEXT:    fcvtas x0, s021; CHECK-NEXT:    ret22entry:23  %0 = tail call i64 @llvm.lround.i64.f32(float %x)24  ret i64 %025}26 27define i32 @testmswd(double %x) {28; CHECK-LABEL: testmswd:29; CHECK:       // %bb.0: // %entry30; CHECK-NEXT:    fcvtas x0, d031; CHECK-NEXT:    // kill: def $w0 killed $w0 killed $x032; CHECK-NEXT:    ret33entry:34  %0 = tail call i64 @llvm.lround.i64.f64(double %x)35  %conv = trunc i64 %0 to i3236  ret i32 %conv37}38 39define i64 @testmsxd(double %x) {40; CHECK-LABEL: testmsxd:41; CHECK:       // %bb.0: // %entry42; CHECK-NEXT:    fcvtas x0, d043; CHECK-NEXT:    ret44entry:45  %0 = tail call i64 @llvm.lround.i64.f64(double %x)46  ret i64 %047}48 49define i32 @testmswl(fp128 %x) {50; CHECK-LABEL: testmswl:51; CHECK:       // %bb.0: // %entry52; CHECK-NEXT:    str x30, [sp, #-16]! // 8-byte Folded Spill53; CHECK-NEXT:    .cfi_def_cfa_offset 1654; CHECK-NEXT:    .cfi_offset w30, -1655; CHECK-NEXT:    bl lroundl56; CHECK-NEXT:    // kill: def $w0 killed $w0 killed $x057; CHECK-NEXT:    ldr x30, [sp], #16 // 8-byte Folded Reload58; CHECK-NEXT:    ret59entry:60  %0 = tail call i64 @llvm.lround.i64.f128(fp128 %x)61  %conv = trunc i64 %0 to i3262  ret i32 %conv63}64 65define i64 @testmsll(fp128 %x) {66; CHECK-LABEL: testmsll:67; CHECK:       // %bb.0: // %entry68; CHECK-NEXT:    b lroundl69entry:70  %0 = tail call i64 @llvm.lround.i64.f128(fp128 %x)71  ret i64 %072}73