@@ -606,6 +606,200 @@ define void @llrint_fp16() {
606606 ret void
607607}
608608
609+ define void @lround () {
610+ ; CHECK-LABEL: 'lround'
611+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = call i32 @llvm.lround.i32.bf16(bfloat poison)
612+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %2 = call <2 x i32> @llvm.lround.v2i32.v2bf16(<2 x bfloat> poison)
613+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %3 = call <4 x i32> @llvm.lround.v4i32.v4bf16(<4 x bfloat> poison)
614+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %4 = call <8 x i32> @llvm.lround.v8i32.v8bf16(<8 x bfloat> poison)
615+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %5 = call <16 x i32> @llvm.lround.v16i32.v16bf16(<16 x bfloat> poison)
616+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x i32> @llvm.lround.nxv1i32.nxv1bf16(<vscale x 1 x bfloat> poison)
617+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x i32> @llvm.lround.nxv2i32.nxv2bf16(<vscale x 2 x bfloat> poison)
618+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x i32> @llvm.lround.nxv4i32.nxv4bf16(<vscale x 4 x bfloat> poison)
619+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x i32> @llvm.lround.nxv8i32.nxv8bf16(<vscale x 8 x bfloat> poison)
620+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %10 = call <vscale x 16 x i32> @llvm.lround.nxv16i32.nxv16bf16(<vscale x 16 x bfloat> poison)
621+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = call i32 @llvm.lround.i32.f32(float poison)
622+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %12 = call <2 x i32> @llvm.lround.v2i32.v2f32(<2 x float> poison)
623+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %13 = call <4 x i32> @llvm.lround.v4i32.v4f32(<4 x float> poison)
624+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %14 = call <8 x i32> @llvm.lround.v8i32.v8f32(<8 x float> poison)
625+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %15 = call <16 x i32> @llvm.lround.v16i32.v16f32(<16 x float> poison)
626+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %16 = call <vscale x 1 x i32> @llvm.lround.nxv1i32.nxv1f32(<vscale x 1 x float> poison)
627+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %17 = call <vscale x 2 x i32> @llvm.lround.nxv2i32.nxv2f32(<vscale x 2 x float> poison)
628+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %18 = call <vscale x 4 x i32> @llvm.lround.nxv4i32.nxv4f32(<vscale x 4 x float> poison)
629+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %19 = call <vscale x 8 x i32> @llvm.lround.nxv8i32.nxv8f32(<vscale x 8 x float> poison)
630+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %20 = call <vscale x 16 x i32> @llvm.lround.nxv16i32.nxv16f32(<vscale x 16 x float> poison)
631+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %21 = call i32 @llvm.lround.i32.f64(double poison)
632+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %22 = call <2 x i32> @llvm.lround.v2i32.v2f64(<2 x double> poison)
633+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %23 = call <4 x i32> @llvm.lround.v4i32.v4f64(<4 x double> poison)
634+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %24 = call <8 x i32> @llvm.lround.v8i32.v8f64(<8 x double> poison)
635+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %25 = call <16 x i32> @llvm.lround.v16i32.v16f64(<16 x double> poison)
636+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %26 = call <vscale x 1 x i32> @llvm.lround.nxv1i32.nxv1f64(<vscale x 1 x double> poison)
637+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %27 = call <vscale x 2 x i32> @llvm.lround.nxv2i32.nxv2f64(<vscale x 2 x double> poison)
638+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %28 = call <vscale x 4 x i32> @llvm.lround.nxv4i32.nxv4f64(<vscale x 4 x double> poison)
639+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %29 = call <vscale x 8 x i32> @llvm.lround.nxv8i32.nxv8f64(<vscale x 8 x double> poison)
640+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %30 = call <vscale x 16 x i32> @llvm.lround.nxv16i32.nxv16f64(<vscale x 16 x double> poison)
641+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %31 = call i64 @llvm.lround.i64.bf16(bfloat poison)
642+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %32 = call <2 x i64> @llvm.lround.v2i64.v2bf16(<2 x bfloat> poison)
643+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %33 = call <4 x i64> @llvm.lround.v4i64.v4bf16(<4 x bfloat> poison)
644+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %34 = call <8 x i64> @llvm.lround.v8i64.v8bf16(<8 x bfloat> poison)
645+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %35 = call <16 x i64> @llvm.lround.v16i64.v16bf16(<16 x bfloat> poison)
646+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %36 = call <vscale x 1 x i64> @llvm.lround.nxv1i64.nxv1bf16(<vscale x 1 x bfloat> poison)
647+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %37 = call <vscale x 2 x i64> @llvm.lround.nxv2i64.nxv2bf16(<vscale x 2 x bfloat> poison)
648+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %38 = call <vscale x 4 x i64> @llvm.lround.nxv4i64.nxv4bf16(<vscale x 4 x bfloat> poison)
649+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %39 = call <vscale x 8 x i64> @llvm.lround.nxv8i64.nxv8bf16(<vscale x 8 x bfloat> poison)
650+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %40 = call <vscale x 16 x i64> @llvm.lround.nxv16i64.nxv16bf16(<vscale x 16 x bfloat> poison)
651+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %41 = call i64 @llvm.lround.i64.f32(float poison)
652+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %42 = call <2 x i64> @llvm.lround.v2i64.v2f32(<2 x float> poison)
653+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %43 = call <4 x i64> @llvm.lround.v4i64.v4f32(<4 x float> poison)
654+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %44 = call <8 x i64> @llvm.lround.v8i64.v8f32(<8 x float> poison)
655+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %45 = call <16 x i64> @llvm.lround.v16i64.v16f32(<16 x float> poison)
656+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %46 = call <vscale x 1 x i64> @llvm.lround.nxv1i64.nxv1f32(<vscale x 1 x float> poison)
657+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %47 = call <vscale x 2 x i64> @llvm.lround.nxv2i64.nxv2f32(<vscale x 2 x float> poison)
658+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %48 = call <vscale x 4 x i64> @llvm.lround.nxv4i64.nxv4f32(<vscale x 4 x float> poison)
659+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %49 = call <vscale x 8 x i64> @llvm.lround.nxv8i64.nxv8f32(<vscale x 8 x float> poison)
660+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %50 = call <vscale x 16 x i64> @llvm.lround.nxv16i64.nxv16f32(<vscale x 16 x float> poison)
661+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %51 = call i64 @llvm.lround.i64.f64(double poison)
662+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %52 = call <2 x i64> @llvm.lround.v2i64.v2f64(<2 x double> poison)
663+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %53 = call <4 x i64> @llvm.lround.v4i64.v4f64(<4 x double> poison)
664+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %54 = call <8 x i64> @llvm.lround.v8i64.v8f64(<8 x double> poison)
665+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %55 = call <16 x i64> @llvm.lround.v16i64.v16f64(<16 x double> poison)
666+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %56 = call <vscale x 1 x i64> @llvm.lround.nxv1i64.nxv1f64(<vscale x 1 x double> poison)
667+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %57 = call <vscale x 2 x i64> @llvm.lround.nxv2i64.nxv2f64(<vscale x 2 x double> poison)
668+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %58 = call <vscale x 4 x i64> @llvm.lround.nxv4i64.nxv4f64(<vscale x 4 x double> poison)
669+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %59 = call <vscale x 8 x i64> @llvm.lround.nxv8i64.nxv8f64(<vscale x 8 x double> poison)
670+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %60 = call <vscale x 16 x i64> @llvm.lround.nxv16i64.nxv16f64(<vscale x 16 x double> poison)
671+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
672+ ;
673+ call i32 @llvm.lround.i32.bf16 (bfloat poison)
674+ call <2 x i32 > @llvm.lround.v2i32.v2bf16 (<2 x bfloat> poison)
675+ call <4 x i32 > @llvm.lround.v4i32.v4bf16 (<4 x bfloat> poison)
676+ call <8 x i32 > @llvm.lround.v8i32.v8bf16 (<8 x bfloat> poison)
677+ call <16 x i32 > @llvm.lround.v16i32.v16bf16 (<16 x bfloat> poison)
678+ call <vscale x 1 x i32 > @llvm.lround.nxv1i32.nxv1bf16 (<vscale x 1 x bfloat> poison)
679+ call <vscale x 2 x i32 > @llvm.lround.nxv2i32.nxv2bf16 (<vscale x 2 x bfloat> poison)
680+ call <vscale x 4 x i32 > @llvm.lround.nxv4i32.nxv4bf16 (<vscale x 4 x bfloat> poison)
681+ call <vscale x 8 x i32 > @llvm.lround.nxv8i32.nxv8bf16 (<vscale x 8 x bfloat> poison)
682+ call <vscale x 16 x i32 > @llvm.lround.nxv16i32.nxv16bf16 (<vscale x 16 x bfloat> poison)
683+ call i32 @llvm.lround.i32.f32 (float poison)
684+ call <2 x i32 > @llvm.lround.v2i32.v2f32 (<2 x float > poison)
685+ call <4 x i32 > @llvm.lround.v4i32.v4f32 (<4 x float > poison)
686+ call <8 x i32 > @llvm.lround.v8i32.v8f32 (<8 x float > poison)
687+ call <16 x i32 > @llvm.lround.v16i32.v16f32 (<16 x float > poison)
688+ call <vscale x 1 x i32 > @llvm.lround.nxv1i32.nxv1f32 (<vscale x 1 x float > poison)
689+ call <vscale x 2 x i32 > @llvm.lround.nxv2i32.nxv2f32 (<vscale x 2 x float > poison)
690+ call <vscale x 4 x i32 > @llvm.lround.nxv4i32.nxv4f32 (<vscale x 4 x float > poison)
691+ call <vscale x 8 x i32 > @llvm.lround.nxv8i32.nxv8f32 (<vscale x 8 x float > poison)
692+ call <vscale x 16 x i32 > @llvm.lround.nxv16i32.nxv16f32 (<vscale x 16 x float > poison)
693+ call i32 @llvm.lround.i32.f64 (double poison)
694+ call <2 x i32 > @llvm.lround.v2i32.v2f64 (<2 x double > poison)
695+ call <4 x i32 > @llvm.lround.v4i32.v4f64 (<4 x double > poison)
696+ call <8 x i32 > @llvm.lround.v8i32.v8f64 (<8 x double > poison)
697+ call <16 x i32 > @llvm.lround.v16i32.v16f64 (<16 x double > poison)
698+ call <vscale x 1 x i32 > @llvm.lround.nxv1i32.nxv1f64 (<vscale x 1 x double > poison)
699+ call <vscale x 2 x i32 > @llvm.lround.nxv2i32.nxv2f64 (<vscale x 2 x double > poison)
700+ call <vscale x 4 x i32 > @llvm.lround.nxv4i32.nxv4f64 (<vscale x 4 x double > poison)
701+ call <vscale x 8 x i32 > @llvm.lround.nxv8i32.nxv8f64 (<vscale x 8 x double > poison)
702+ call <vscale x 16 x i32 > @llvm.lround.nxv16i32.nxv16f64 (<vscale x 16 x double > poison)
703+ call i64 @llvm.lround.i64.bf16 (bfloat poison)
704+ call <2 x i64 > @llvm.lround.v2i64.v2bf16 (<2 x bfloat> poison)
705+ call <4 x i64 > @llvm.lround.v4i64.v4bf16 (<4 x bfloat> poison)
706+ call <8 x i64 > @llvm.lround.v8i64.v8bf16 (<8 x bfloat> poison)
707+ call <16 x i64 > @llvm.lround.v16i64.v16bf16 (<16 x bfloat> poison)
708+ call <vscale x 1 x i64 > @llvm.lround.nxv1i64.nxv1bf16 (<vscale x 1 x bfloat> poison)
709+ call <vscale x 2 x i64 > @llvm.lround.nxv2i64.nxv2bf16 (<vscale x 2 x bfloat> poison)
710+ call <vscale x 4 x i64 > @llvm.lround.nxv4i64.nxv4bf16 (<vscale x 4 x bfloat> poison)
711+ call <vscale x 8 x i64 > @llvm.lround.nxv8i64.nxv8bf16 (<vscale x 8 x bfloat> poison)
712+ call <vscale x 16 x i64 > @llvm.lround.nxv16i64.nxv16bf16 (<vscale x 16 x bfloat> poison)
713+ call i64 @llvm.lround.i64.f32 (float poison)
714+ call <2 x i64 > @llvm.lround.v2i64.v2f32 (<2 x float > poison)
715+ call <4 x i64 > @llvm.lround.v4i64.v4f32 (<4 x float > poison)
716+ call <8 x i64 > @llvm.lround.v8i64.v8f32 (<8 x float > poison)
717+ call <16 x i64 > @llvm.lround.v16i64.v16f32 (<16 x float > poison)
718+ call <vscale x 1 x i64 > @llvm.lround.nxv1i64.nxv1f32 (<vscale x 1 x float > poison)
719+ call <vscale x 2 x i64 > @llvm.lround.nxv2i64.nxv2f32 (<vscale x 2 x float > poison)
720+ call <vscale x 4 x i64 > @llvm.lround.nxv4i64.nxv4f32 (<vscale x 4 x float > poison)
721+ call <vscale x 8 x i64 > @llvm.lround.nxv8i64.nxv8f32 (<vscale x 8 x float > poison)
722+ call <vscale x 16 x i64 > @llvm.lround.nxv16i64.nxv16f32 (<vscale x 16 x float > poison)
723+ call i64 @llvm.lround.i64.f64 (double poison)
724+ call <2 x i64 > @llvm.lround.v2i64.v2f64 (<2 x double > poison)
725+ call <4 x i64 > @llvm.lround.v4i64.v4f64 (<4 x double > poison)
726+ call <8 x i64 > @llvm.lround.v8i64.v8f64 (<8 x double > poison)
727+ call <16 x i64 > @llvm.lround.v16i64.v16f64 (<16 x double > poison)
728+ call <vscale x 1 x i64 > @llvm.lround.nxv1i64.nxv1f64 (<vscale x 1 x double > poison)
729+ call <vscale x 2 x i64 > @llvm.lround.nxv2i64.nxv2f64 (<vscale x 2 x double > poison)
730+ call <vscale x 4 x i64 > @llvm.lround.nxv4i64.nxv4f64 (<vscale x 4 x double > poison)
731+ call <vscale x 8 x i64 > @llvm.lround.nxv8i64.nxv8f64 (<vscale x 8 x double > poison)
732+ call <vscale x 16 x i64 > @llvm.lround.nxv16i64.nxv16f64 (<vscale x 16 x double > poison)
733+ ret void
734+ }
735+
736+ define void @llround () {
737+ ; CHECK-LABEL: 'llround'
738+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = call i64 @llvm.llround.i64.bf16(bfloat poison)
739+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %2 = call <2 x i64> @llvm.llround.v2i64.v2bf16(<2 x bfloat> poison)
740+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %3 = call <4 x i64> @llvm.llround.v4i64.v4bf16(<4 x bfloat> poison)
741+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %4 = call <8 x i64> @llvm.llround.v8i64.v8bf16(<8 x bfloat> poison)
742+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %5 = call <16 x i64> @llvm.llround.v16i64.v16bf16(<16 x bfloat> poison)
743+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x i64> @llvm.llround.nxv1i64.nxv1bf16(<vscale x 1 x bfloat> poison)
744+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x i64> @llvm.llround.nxv2i64.nxv2bf16(<vscale x 2 x bfloat> poison)
745+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x i64> @llvm.llround.nxv4i64.nxv4bf16(<vscale x 4 x bfloat> poison)
746+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x i64> @llvm.llround.nxv8i64.nxv8bf16(<vscale x 8 x bfloat> poison)
747+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %10 = call <vscale x 16 x i64> @llvm.llround.nxv16i64.nxv16bf16(<vscale x 16 x bfloat> poison)
748+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = call i64 @llvm.llround.i64.f32(float poison)
749+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %12 = call <2 x i64> @llvm.llround.v2i64.v2f32(<2 x float> poison)
750+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %13 = call <4 x i64> @llvm.llround.v4i64.v4f32(<4 x float> poison)
751+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %14 = call <8 x i64> @llvm.llround.v8i64.v8f32(<8 x float> poison)
752+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %15 = call <16 x i64> @llvm.llround.v16i64.v16f32(<16 x float> poison)
753+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %16 = call <vscale x 1 x i64> @llvm.llround.nxv1i64.nxv1f32(<vscale x 1 x float> poison)
754+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %17 = call <vscale x 2 x i64> @llvm.llround.nxv2i64.nxv2f32(<vscale x 2 x float> poison)
755+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %18 = call <vscale x 4 x i64> @llvm.llround.nxv4i64.nxv4f32(<vscale x 4 x float> poison)
756+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %19 = call <vscale x 8 x i64> @llvm.llround.nxv8i64.nxv8f32(<vscale x 8 x float> poison)
757+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %20 = call <vscale x 16 x i64> @llvm.llround.nxv16i64.nxv16f32(<vscale x 16 x float> poison)
758+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %21 = call i64 @llvm.llround.i64.f64(double poison)
759+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %22 = call <2 x i64> @llvm.llround.v2i64.v2f64(<2 x double> poison)
760+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %23 = call <4 x i64> @llvm.llround.v4i64.v4f64(<4 x double> poison)
761+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %24 = call <8 x i64> @llvm.llround.v8i64.v8f64(<8 x double> poison)
762+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %25 = call <16 x i64> @llvm.llround.v16i64.v16f64(<16 x double> poison)
763+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %26 = call <vscale x 1 x i64> @llvm.llround.nxv1i64.nxv1f64(<vscale x 1 x double> poison)
764+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %27 = call <vscale x 2 x i64> @llvm.llround.nxv2i64.nxv2f64(<vscale x 2 x double> poison)
765+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %28 = call <vscale x 4 x i64> @llvm.llround.nxv4i64.nxv4f64(<vscale x 4 x double> poison)
766+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %29 = call <vscale x 8 x i64> @llvm.llround.nxv8i64.nxv8f64(<vscale x 8 x double> poison)
767+ ; CHECK-NEXT: Cost Model: Invalid cost for instruction: %30 = call <vscale x 16 x i64> @llvm.llround.nxv16i64.nxv16f64(<vscale x 16 x double> poison)
768+ ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
769+ ;
770+ call i64 @llvm.llround.i64.bf16 (bfloat poison)
771+ call <2 x i64 > @llvm.llround.v2i64.v2bf16 (<2 x bfloat> poison)
772+ call <4 x i64 > @llvm.llround.v4i64.v4bf16 (<4 x bfloat> poison)
773+ call <8 x i64 > @llvm.llround.v8i64.v8bf16 (<8 x bfloat> poison)
774+ call <16 x i64 > @llvm.llround.v16i64.v16bf16 (<16 x bfloat> poison)
775+ call <vscale x 1 x i64 > @llvm.llround.nxv1i64.nxv1bf16 (<vscale x 1 x bfloat> poison)
776+ call <vscale x 2 x i64 > @llvm.llround.nxv2i64.nxv2bf16 (<vscale x 2 x bfloat> poison)
777+ call <vscale x 4 x i64 > @llvm.llround.nxv4i64.nxv4bf16 (<vscale x 4 x bfloat> poison)
778+ call <vscale x 8 x i64 > @llvm.llround.nxv8i64.nxv8bf16 (<vscale x 8 x bfloat> poison)
779+ call <vscale x 16 x i64 > @llvm.llround.nxv16i64.nxv16bf16 (<vscale x 16 x bfloat> poison)
780+ call i64 @llvm.llround.i64.f32 (float poison)
781+ call <2 x i64 > @llvm.llround.v2i64.v2f32 (<2 x float > poison)
782+ call <4 x i64 > @llvm.llround.v4i64.v4f32 (<4 x float > poison)
783+ call <8 x i64 > @llvm.llround.v8i64.v8f32 (<8 x float > poison)
784+ call <16 x i64 > @llvm.llround.v16i64.v16f32 (<16 x float > poison)
785+ call <vscale x 1 x i64 > @llvm.llround.nxv1i64.nxv1f32 (<vscale x 1 x float > poison)
786+ call <vscale x 2 x i64 > @llvm.llround.nxv2i64.nxv2f32 (<vscale x 2 x float > poison)
787+ call <vscale x 4 x i64 > @llvm.llround.nxv4i64.nxv4f32 (<vscale x 4 x float > poison)
788+ call <vscale x 8 x i64 > @llvm.llround.nxv8i64.nxv8f32 (<vscale x 8 x float > poison)
789+ call <vscale x 16 x i64 > @llvm.llround.nxv16i64.nxv16f32 (<vscale x 16 x float > poison)
790+ call i64 @llvm.llround.i64.f64 (double poison)
791+ call <2 x i64 > @llvm.llround.v2i64.v2f64 (<2 x double > poison)
792+ call <4 x i64 > @llvm.llround.v4i64.v4f64 (<4 x double > poison)
793+ call <8 x i64 > @llvm.llround.v8i64.v8f64 (<8 x double > poison)
794+ call <16 x i64 > @llvm.llround.v16i64.v16f64 (<16 x double > poison)
795+ call <vscale x 1 x i64 > @llvm.llround.nxv1i64.nxv1f64 (<vscale x 1 x double > poison)
796+ call <vscale x 2 x i64 > @llvm.llround.nxv2i64.nxv2f64 (<vscale x 2 x double > poison)
797+ call <vscale x 4 x i64 > @llvm.llround.nxv4i64.nxv4f64 (<vscale x 4 x double > poison)
798+ call <vscale x 8 x i64 > @llvm.llround.nxv8i64.nxv8f64 (<vscale x 8 x double > poison)
799+ call <vscale x 16 x i64 > @llvm.llround.nxv16i64.nxv16f64 (<vscale x 16 x double > poison)
800+ ret void
801+ }
802+
609803define void @nearbyint () {
610804; CHECK-LABEL: 'nearbyint'
611805; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %1 = call bfloat @llvm.nearbyint.bf16(bfloat undef)
0 commit comments