140069286SPhilip Reames; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py 21d40fefbSLuke Lau; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -S -mtriple=riscv64 -mattr=+v,+f,+d,+zvfh,+zvfbfmin | FileCheck %s --check-prefixes=CHECK,ZVFH 31d40fefbSLuke Lau; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -S -mtriple=riscv64 -mattr=+v,+f,+d,+zvfhmin,+zvfbfmin | FileCheck %s --check-prefixes=CHECK,ZVFHMIN 440069286SPhilip Reames 540069286SPhilip Reamesdefine void @sin() { 640069286SPhilip Reames; CHECK-LABEL: 'sin' 71d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %1 = call bfloat @llvm.sin.bf16(bfloat undef) 81d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %2 = call <2 x bfloat> @llvm.sin.v2bf16(<2 x bfloat> undef) 91d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %3 = call <4 x bfloat> @llvm.sin.v4bf16(<4 x bfloat> undef) 101d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 88 for instruction: %4 = call <8 x bfloat> @llvm.sin.v8bf16(<8 x bfloat> undef) 111d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %5 = call <16 x bfloat> @llvm.sin.v16bf16(<16 x bfloat> undef) 122b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x bfloat> @llvm.sin.nxv1bf16(<vscale x 1 x bfloat> undef) 132b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x bfloat> @llvm.sin.nxv2bf16(<vscale x 2 x bfloat> undef) 142b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x bfloat> @llvm.sin.nxv4bf16(<vscale x 4 x bfloat> undef) 152b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x bfloat> @llvm.sin.nxv8bf16(<vscale x 8 x bfloat> undef) 162b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %10 = call <vscale x 16 x bfloat> @llvm.sin.nxv16bf16(<vscale x 16 x bfloat> undef) 171d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %11 = call float @llvm.sin.f32(float undef) 181d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %12 = call <2 x float> @llvm.sin.v2f32(<2 x float> undef) 191d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %13 = call <4 x float> @llvm.sin.v4f32(<4 x float> undef) 201d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 95 for instruction: %14 = call <8 x float> @llvm.sin.v8f32(<8 x float> undef) 211d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %15 = call <16 x float> @llvm.sin.v16f32(<16 x float> undef) 221d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %16 = call <vscale x 1 x float> @llvm.sin.nxv1f32(<vscale x 1 x float> undef) 231d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %17 = call <vscale x 2 x float> @llvm.sin.nxv2f32(<vscale x 2 x float> undef) 241d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %18 = call <vscale x 4 x float> @llvm.sin.nxv4f32(<vscale x 4 x float> undef) 251d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %19 = call <vscale x 8 x float> @llvm.sin.nxv8f32(<vscale x 8 x float> undef) 261d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %20 = call <vscale x 16 x float> @llvm.sin.nxv16f32(<vscale x 16 x float> undef) 271d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %21 = call double @llvm.sin.f64(double undef) 281d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %22 = call <2 x double> @llvm.sin.v2f64(<2 x double> undef) 291d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %23 = call <4 x double> @llvm.sin.v4f64(<4 x double> undef) 301d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 95 for instruction: %24 = call <8 x double> @llvm.sin.v8f64(<8 x double> undef) 311d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %25 = call <16 x double> @llvm.sin.v16f64(<16 x double> undef) 321d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %26 = call <vscale x 1 x double> @llvm.sin.nxv1f64(<vscale x 1 x double> undef) 331d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %27 = call <vscale x 2 x double> @llvm.sin.nxv2f64(<vscale x 2 x double> undef) 341d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %28 = call <vscale x 4 x double> @llvm.sin.nxv4f64(<vscale x 4 x double> undef) 351d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %29 = call <vscale x 8 x double> @llvm.sin.nxv8f64(<vscale x 8 x double> undef) 360a5d52a7SSergey Kachkov; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 3740069286SPhilip Reames; 381d40fefbSLuke Lau call bfloat @llvm.sin.bf16(bfloat undef) 391d40fefbSLuke Lau call <2 x bfloat> @llvm.sin.v2bf16(<2 x bfloat> undef) 401d40fefbSLuke Lau call <4 x bfloat> @llvm.sin.v4bf16(<4 x bfloat> undef) 411d40fefbSLuke Lau call <8 x bfloat> @llvm.sin.v8bf16(<8 x bfloat> undef) 421d40fefbSLuke Lau call <16 x bfloat> @llvm.sin.v16bf16(<16 x bfloat> undef) 43*c3edeaa6SLiqinWeng call <vscale x 1 x bfloat> @llvm.sin.nxv1bf16(<vscale x 1 x bfloat> undef) 44*c3edeaa6SLiqinWeng call <vscale x 2 x bfloat> @llvm.sin.nxv2bf16(<vscale x 2 x bfloat> undef) 45*c3edeaa6SLiqinWeng call <vscale x 4 x bfloat> @llvm.sin.nxv4bf16(<vscale x 4 x bfloat> undef) 46*c3edeaa6SLiqinWeng call <vscale x 8 x bfloat> @llvm.sin.nxv8bf16(<vscale x 8 x bfloat> undef) 47*c3edeaa6SLiqinWeng call <vscale x 16 x bfloat> @llvm.sin.nxv16bf16(<vscale x 16 x bfloat> undef) 4840069286SPhilip Reames call float @llvm.sin.f32(float undef) 4940069286SPhilip Reames call <2 x float> @llvm.sin.v2f32(<2 x float> undef) 5040069286SPhilip Reames call <4 x float> @llvm.sin.v4f32(<4 x float> undef) 5140069286SPhilip Reames call <8 x float> @llvm.sin.v8f32(<8 x float> undef) 5240069286SPhilip Reames call <16 x float> @llvm.sin.v16f32(<16 x float> undef) 53*c3edeaa6SLiqinWeng call <vscale x 1 x float> @llvm.sin.nxv1f32(<vscale x 1 x float> undef) 54*c3edeaa6SLiqinWeng call <vscale x 2 x float> @llvm.sin.nxv2f32(<vscale x 2 x float> undef) 55*c3edeaa6SLiqinWeng call <vscale x 4 x float> @llvm.sin.nxv4f32(<vscale x 4 x float> undef) 56*c3edeaa6SLiqinWeng call <vscale x 8 x float> @llvm.sin.nxv8f32(<vscale x 8 x float> undef) 57*c3edeaa6SLiqinWeng call <vscale x 16 x float> @llvm.sin.nxv16f32(<vscale x 16 x float> undef) 5840069286SPhilip Reames call double @llvm.sin.f64(double undef) 5940069286SPhilip Reames call <2 x double> @llvm.sin.v2f64(<2 x double> undef) 6040069286SPhilip Reames call <4 x double> @llvm.sin.v4f64(<4 x double> undef) 6140069286SPhilip Reames call <8 x double> @llvm.sin.v8f64(<8 x double> undef) 6240069286SPhilip Reames call <16 x double> @llvm.sin.v16f64(<16 x double> undef) 63*c3edeaa6SLiqinWeng call <vscale x 1 x double> @llvm.sin.nxv1f64(<vscale x 1 x double> undef) 64*c3edeaa6SLiqinWeng call <vscale x 2 x double> @llvm.sin.nxv2f64(<vscale x 2 x double> undef) 65*c3edeaa6SLiqinWeng call <vscale x 4 x double> @llvm.sin.nxv4f64(<vscale x 4 x double> undef) 66*c3edeaa6SLiqinWeng call <vscale x 8 x double> @llvm.sin.nxv8f64(<vscale x 8 x double> undef) 6740069286SPhilip Reames ret void 6840069286SPhilip Reames} 6940069286SPhilip Reames 701d40fefbSLuke Laudefine void @sin_f16() { 711d40fefbSLuke Lau; ZVFH-LABEL: 'sin_f16' 721d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = call half @llvm.sin.f16(half undef) 731d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %2 = call <2 x half> @llvm.sin.v2f16(<2 x half> undef) 741d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %3 = call <4 x half> @llvm.sin.v4f16(<4 x half> undef) 751d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %4 = call <8 x half> @llvm.sin.v8f16(<8 x half> undef) 761d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %5 = call <16 x half> @llvm.sin.v16f16(<16 x half> undef) 771d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x half> @llvm.sin.nxv1f16(<vscale x 1 x half> undef) 781d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x half> @llvm.sin.nxv2f16(<vscale x 2 x half> undef) 791d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x half> @llvm.sin.nxv4f16(<vscale x 4 x half> undef) 801d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x half> @llvm.sin.nxv8f16(<vscale x 8 x half> undef) 811d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 821d40fefbSLuke Lau; 831d40fefbSLuke Lau; ZVFHMIN-LABEL: 'sin_f16' 841d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %1 = call half @llvm.sin.f16(half undef) 851d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %2 = call <2 x half> @llvm.sin.v2f16(<2 x half> undef) 861d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %3 = call <4 x half> @llvm.sin.v4f16(<4 x half> undef) 871d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 88 for instruction: %4 = call <8 x half> @llvm.sin.v8f16(<8 x half> undef) 881d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %5 = call <16 x half> @llvm.sin.v16f16(<16 x half> undef) 892b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x half> @llvm.sin.nxv1f16(<vscale x 1 x half> undef) 902b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x half> @llvm.sin.nxv2f16(<vscale x 2 x half> undef) 912b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x half> @llvm.sin.nxv4f16(<vscale x 4 x half> undef) 922b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x half> @llvm.sin.nxv8f16(<vscale x 8 x half> undef) 931d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 941d40fefbSLuke Lau; 951d40fefbSLuke Lau call half @llvm.sin.f16(half undef) 961d40fefbSLuke Lau call <2 x half> @llvm.sin.v2f16(<2 x half> undef) 971d40fefbSLuke Lau call <4 x half> @llvm.sin.v4f16(<4 x half> undef) 981d40fefbSLuke Lau call <8 x half> @llvm.sin.v8f16(<8 x half> undef) 991d40fefbSLuke Lau call <16 x half> @llvm.sin.v16f16(<16 x half> undef) 100*c3edeaa6SLiqinWeng call <vscale x 1 x half> @llvm.sin.nxv1f16(<vscale x 1 x half> undef) 101*c3edeaa6SLiqinWeng call <vscale x 2 x half> @llvm.sin.nxv2f16(<vscale x 2 x half> undef) 102*c3edeaa6SLiqinWeng call <vscale x 4 x half> @llvm.sin.nxv4f16(<vscale x 4 x half> undef) 103*c3edeaa6SLiqinWeng call <vscale x 8 x half> @llvm.sin.nxv8f16(<vscale x 8 x half> undef) 1041d40fefbSLuke Lau ret void 1051d40fefbSLuke Lau} 1061d40fefbSLuke Lau 10740069286SPhilip Reamesdefine void @cos() { 10840069286SPhilip Reames; CHECK-LABEL: 'cos' 1091d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %1 = call bfloat @llvm.cos.bf16(bfloat undef) 1101d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %2 = call <2 x bfloat> @llvm.cos.v2bf16(<2 x bfloat> undef) 1111d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %3 = call <4 x bfloat> @llvm.cos.v4bf16(<4 x bfloat> undef) 1121d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 88 for instruction: %4 = call <8 x bfloat> @llvm.cos.v8bf16(<8 x bfloat> undef) 1131d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %5 = call <16 x bfloat> @llvm.cos.v16bf16(<16 x bfloat> undef) 1142b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x bfloat> @llvm.cos.nxv1bf16(<vscale x 1 x bfloat> undef) 1152b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x bfloat> @llvm.cos.nxv2bf16(<vscale x 2 x bfloat> undef) 1162b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x bfloat> @llvm.cos.nxv4bf16(<vscale x 4 x bfloat> undef) 1172b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x bfloat> @llvm.cos.nxv8bf16(<vscale x 8 x bfloat> undef) 1182b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %10 = call <vscale x 16 x bfloat> @llvm.cos.nxv16bf16(<vscale x 16 x bfloat> undef) 1191d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %11 = call float @llvm.cos.f32(float undef) 1201d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %12 = call <2 x float> @llvm.cos.v2f32(<2 x float> undef) 1211d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %13 = call <4 x float> @llvm.cos.v4f32(<4 x float> undef) 1221d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 95 for instruction: %14 = call <8 x float> @llvm.cos.v8f32(<8 x float> undef) 1231d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %15 = call <16 x float> @llvm.cos.v16f32(<16 x float> undef) 1241d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %16 = call <vscale x 1 x float> @llvm.cos.nxv1f32(<vscale x 1 x float> undef) 1251d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %17 = call <vscale x 2 x float> @llvm.cos.nxv2f32(<vscale x 2 x float> undef) 1261d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %18 = call <vscale x 4 x float> @llvm.cos.nxv4f32(<vscale x 4 x float> undef) 1271d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %19 = call <vscale x 8 x float> @llvm.cos.nxv8f32(<vscale x 8 x float> undef) 1281d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %20 = call <vscale x 16 x float> @llvm.cos.nxv16f32(<vscale x 16 x float> undef) 1291d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %21 = call double @llvm.cos.f64(double undef) 1301d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %22 = call <2 x double> @llvm.cos.v2f64(<2 x double> undef) 1311d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %23 = call <4 x double> @llvm.cos.v4f64(<4 x double> undef) 1321d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 95 for instruction: %24 = call <8 x double> @llvm.cos.v8f64(<8 x double> undef) 1331d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %25 = call <16 x double> @llvm.cos.v16f64(<16 x double> undef) 1341d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %26 = call <vscale x 1 x double> @llvm.cos.nxv1f64(<vscale x 1 x double> undef) 1351d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %27 = call <vscale x 2 x double> @llvm.cos.nxv2f64(<vscale x 2 x double> undef) 1361d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %28 = call <vscale x 4 x double> @llvm.cos.nxv4f64(<vscale x 4 x double> undef) 1371d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %29 = call <vscale x 8 x double> @llvm.cos.nxv8f64(<vscale x 8 x double> undef) 1380a5d52a7SSergey Kachkov; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 13940069286SPhilip Reames; 1401d40fefbSLuke Lau call bfloat @llvm.cos.bf16(bfloat undef) 1411d40fefbSLuke Lau call <2 x bfloat> @llvm.cos.v2bf16(<2 x bfloat> undef) 1421d40fefbSLuke Lau call <4 x bfloat> @llvm.cos.v4bf16(<4 x bfloat> undef) 1431d40fefbSLuke Lau call <8 x bfloat> @llvm.cos.v8bf16(<8 x bfloat> undef) 1441d40fefbSLuke Lau call <16 x bfloat> @llvm.cos.v16bf16(<16 x bfloat> undef) 145*c3edeaa6SLiqinWeng call <vscale x 1 x bfloat> @llvm.cos.nxv1bf16(<vscale x 1 x bfloat> undef) 146*c3edeaa6SLiqinWeng call <vscale x 2 x bfloat> @llvm.cos.nxv2bf16(<vscale x 2 x bfloat> undef) 147*c3edeaa6SLiqinWeng call <vscale x 4 x bfloat> @llvm.cos.nxv4bf16(<vscale x 4 x bfloat> undef) 148*c3edeaa6SLiqinWeng call <vscale x 8 x bfloat> @llvm.cos.nxv8bf16(<vscale x 8 x bfloat> undef) 149*c3edeaa6SLiqinWeng call <vscale x 16 x bfloat> @llvm.cos.nxv16bf16(<vscale x 16 x bfloat> undef) 15040069286SPhilip Reames call float @llvm.cos.f32(float undef) 15140069286SPhilip Reames call <2 x float> @llvm.cos.v2f32(<2 x float> undef) 15240069286SPhilip Reames call <4 x float> @llvm.cos.v4f32(<4 x float> undef) 15340069286SPhilip Reames call <8 x float> @llvm.cos.v8f32(<8 x float> undef) 15440069286SPhilip Reames call <16 x float> @llvm.cos.v16f32(<16 x float> undef) 155*c3edeaa6SLiqinWeng call <vscale x 1 x float> @llvm.cos.nxv1f32(<vscale x 1 x float> undef) 156*c3edeaa6SLiqinWeng call <vscale x 2 x float> @llvm.cos.nxv2f32(<vscale x 2 x float> undef) 157*c3edeaa6SLiqinWeng call <vscale x 4 x float> @llvm.cos.nxv4f32(<vscale x 4 x float> undef) 158*c3edeaa6SLiqinWeng call <vscale x 8 x float> @llvm.cos.nxv8f32(<vscale x 8 x float> undef) 159*c3edeaa6SLiqinWeng call <vscale x 16 x float> @llvm.cos.nxv16f32(<vscale x 16 x float> undef) 16040069286SPhilip Reames call double @llvm.cos.f64(double undef) 16140069286SPhilip Reames call <2 x double> @llvm.cos.v2f64(<2 x double> undef) 16240069286SPhilip Reames call <4 x double> @llvm.cos.v4f64(<4 x double> undef) 16340069286SPhilip Reames call <8 x double> @llvm.cos.v8f64(<8 x double> undef) 16440069286SPhilip Reames call <16 x double> @llvm.cos.v16f64(<16 x double> undef) 165*c3edeaa6SLiqinWeng call <vscale x 1 x double> @llvm.cos.nxv1f64(<vscale x 1 x double> undef) 166*c3edeaa6SLiqinWeng call <vscale x 2 x double> @llvm.cos.nxv2f64(<vscale x 2 x double> undef) 167*c3edeaa6SLiqinWeng call <vscale x 4 x double> @llvm.cos.nxv4f64(<vscale x 4 x double> undef) 168*c3edeaa6SLiqinWeng call <vscale x 8 x double> @llvm.cos.nxv8f64(<vscale x 8 x double> undef) 16940069286SPhilip Reames ret void 17040069286SPhilip Reames} 17140069286SPhilip Reames 1721d40fefbSLuke Laudefine void @cos_f16() { 1731d40fefbSLuke Lau; ZVFH-LABEL: 'cos_f16' 1741d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = call half @llvm.cos.f16(half undef) 1751d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %2 = call <2 x half> @llvm.cos.v2f16(<2 x half> undef) 1761d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %3 = call <4 x half> @llvm.cos.v4f16(<4 x half> undef) 1771d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %4 = call <8 x half> @llvm.cos.v8f16(<8 x half> undef) 1781d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %5 = call <16 x half> @llvm.cos.v16f16(<16 x half> undef) 1791d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x half> @llvm.cos.nxv1f16(<vscale x 1 x half> undef) 1801d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x half> @llvm.cos.nxv2f16(<vscale x 2 x half> undef) 1811d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x half> @llvm.cos.nxv4f16(<vscale x 4 x half> undef) 1821d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x half> @llvm.cos.nxv8f16(<vscale x 8 x half> undef) 1831d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 1841d40fefbSLuke Lau; 1851d40fefbSLuke Lau; ZVFHMIN-LABEL: 'cos_f16' 1861d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %1 = call half @llvm.cos.f16(half undef) 1871d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %2 = call <2 x half> @llvm.cos.v2f16(<2 x half> undef) 1881d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %3 = call <4 x half> @llvm.cos.v4f16(<4 x half> undef) 1891d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 88 for instruction: %4 = call <8 x half> @llvm.cos.v8f16(<8 x half> undef) 1901d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %5 = call <16 x half> @llvm.cos.v16f16(<16 x half> undef) 1912b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x half> @llvm.cos.nxv1f16(<vscale x 1 x half> undef) 1922b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x half> @llvm.cos.nxv2f16(<vscale x 2 x half> undef) 1932b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x half> @llvm.cos.nxv4f16(<vscale x 4 x half> undef) 1942b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x half> @llvm.cos.nxv8f16(<vscale x 8 x half> undef) 1951d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 1961d40fefbSLuke Lau; 1971d40fefbSLuke Lau call half @llvm.cos.f16(half undef) 1981d40fefbSLuke Lau call <2 x half> @llvm.cos.v2f16(<2 x half> undef) 1991d40fefbSLuke Lau call <4 x half> @llvm.cos.v4f16(<4 x half> undef) 2001d40fefbSLuke Lau call <8 x half> @llvm.cos.v8f16(<8 x half> undef) 2011d40fefbSLuke Lau call <16 x half> @llvm.cos.v16f16(<16 x half> undef) 202*c3edeaa6SLiqinWeng call <vscale x 1 x half> @llvm.cos.nxv1f16(<vscale x 1 x half> undef) 203*c3edeaa6SLiqinWeng call <vscale x 2 x half> @llvm.cos.nxv2f16(<vscale x 2 x half> undef) 204*c3edeaa6SLiqinWeng call <vscale x 4 x half> @llvm.cos.nxv4f16(<vscale x 4 x half> undef) 205*c3edeaa6SLiqinWeng call <vscale x 8 x half> @llvm.cos.nxv8f16(<vscale x 8 x half> undef) 2061d40fefbSLuke Lau ret void 2071d40fefbSLuke Lau} 2081d40fefbSLuke Lau 20940069286SPhilip Reamesdefine void @exp() { 21040069286SPhilip Reames; CHECK-LABEL: 'exp' 2111d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %1 = call bfloat @llvm.exp.bf16(bfloat undef) 2121d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %2 = call <2 x bfloat> @llvm.exp.v2bf16(<2 x bfloat> undef) 2131d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %3 = call <4 x bfloat> @llvm.exp.v4bf16(<4 x bfloat> undef) 2141d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 88 for instruction: %4 = call <8 x bfloat> @llvm.exp.v8bf16(<8 x bfloat> undef) 2151d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %5 = call <16 x bfloat> @llvm.exp.v16bf16(<16 x bfloat> undef) 2162b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x bfloat> @llvm.exp.nxv1bf16(<vscale x 1 x bfloat> undef) 2172b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x bfloat> @llvm.exp.nxv2bf16(<vscale x 2 x bfloat> undef) 2182b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x bfloat> @llvm.exp.nxv4bf16(<vscale x 4 x bfloat> undef) 2192b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x bfloat> @llvm.exp.nxv8bf16(<vscale x 8 x bfloat> undef) 2202b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %10 = call <vscale x 16 x bfloat> @llvm.exp.nxv16bf16(<vscale x 16 x bfloat> undef) 2211d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %11 = call float @llvm.exp.f32(float undef) 2221d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %12 = call <2 x float> @llvm.exp.v2f32(<2 x float> undef) 2231d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %13 = call <4 x float> @llvm.exp.v4f32(<4 x float> undef) 2241d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 95 for instruction: %14 = call <8 x float> @llvm.exp.v8f32(<8 x float> undef) 2251d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %15 = call <16 x float> @llvm.exp.v16f32(<16 x float> undef) 2261d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %16 = call <vscale x 1 x float> @llvm.exp.nxv1f32(<vscale x 1 x float> undef) 2271d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %17 = call <vscale x 2 x float> @llvm.exp.nxv2f32(<vscale x 2 x float> undef) 2281d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %18 = call <vscale x 4 x float> @llvm.exp.nxv4f32(<vscale x 4 x float> undef) 2291d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %19 = call <vscale x 8 x float> @llvm.exp.nxv8f32(<vscale x 8 x float> undef) 2301d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %20 = call <vscale x 16 x float> @llvm.exp.nxv16f32(<vscale x 16 x float> undef) 2311d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %21 = call double @llvm.exp.f64(double undef) 2321d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %22 = call <2 x double> @llvm.exp.v2f64(<2 x double> undef) 2331d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %23 = call <4 x double> @llvm.exp.v4f64(<4 x double> undef) 2341d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 95 for instruction: %24 = call <8 x double> @llvm.exp.v8f64(<8 x double> undef) 2351d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %25 = call <16 x double> @llvm.exp.v16f64(<16 x double> undef) 2361d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %26 = call <vscale x 1 x double> @llvm.exp.nxv1f64(<vscale x 1 x double> undef) 2371d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %27 = call <vscale x 2 x double> @llvm.exp.nxv2f64(<vscale x 2 x double> undef) 2381d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %28 = call <vscale x 4 x double> @llvm.exp.nxv4f64(<vscale x 4 x double> undef) 2391d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %29 = call <vscale x 8 x double> @llvm.exp.nxv8f64(<vscale x 8 x double> undef) 2400a5d52a7SSergey Kachkov; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 24140069286SPhilip Reames; 2421d40fefbSLuke Lau call bfloat @llvm.exp.bf16(bfloat undef) 2431d40fefbSLuke Lau call <2 x bfloat> @llvm.exp.v2bf16(<2 x bfloat> undef) 2441d40fefbSLuke Lau call <4 x bfloat> @llvm.exp.v4bf16(<4 x bfloat> undef) 2451d40fefbSLuke Lau call <8 x bfloat> @llvm.exp.v8bf16(<8 x bfloat> undef) 2461d40fefbSLuke Lau call <16 x bfloat> @llvm.exp.v16bf16(<16 x bfloat> undef) 247*c3edeaa6SLiqinWeng call <vscale x 1 x bfloat> @llvm.exp.nxv1bf16(<vscale x 1 x bfloat> undef) 248*c3edeaa6SLiqinWeng call <vscale x 2 x bfloat> @llvm.exp.nxv2bf16(<vscale x 2 x bfloat> undef) 249*c3edeaa6SLiqinWeng call <vscale x 4 x bfloat> @llvm.exp.nxv4bf16(<vscale x 4 x bfloat> undef) 250*c3edeaa6SLiqinWeng call <vscale x 8 x bfloat> @llvm.exp.nxv8bf16(<vscale x 8 x bfloat> undef) 251*c3edeaa6SLiqinWeng call <vscale x 16 x bfloat> @llvm.exp.nxv16bf16(<vscale x 16 x bfloat> undef) 25240069286SPhilip Reames call float @llvm.exp.f32(float undef) 25340069286SPhilip Reames call <2 x float> @llvm.exp.v2f32(<2 x float> undef) 25440069286SPhilip Reames call <4 x float> @llvm.exp.v4f32(<4 x float> undef) 25540069286SPhilip Reames call <8 x float> @llvm.exp.v8f32(<8 x float> undef) 25640069286SPhilip Reames call <16 x float> @llvm.exp.v16f32(<16 x float> undef) 257*c3edeaa6SLiqinWeng call <vscale x 1 x float> @llvm.exp.nxv1f32(<vscale x 1 x float> undef) 258*c3edeaa6SLiqinWeng call <vscale x 2 x float> @llvm.exp.nxv2f32(<vscale x 2 x float> undef) 259*c3edeaa6SLiqinWeng call <vscale x 4 x float> @llvm.exp.nxv4f32(<vscale x 4 x float> undef) 260*c3edeaa6SLiqinWeng call <vscale x 8 x float> @llvm.exp.nxv8f32(<vscale x 8 x float> undef) 261*c3edeaa6SLiqinWeng call <vscale x 16 x float> @llvm.exp.nxv16f32(<vscale x 16 x float> undef) 26240069286SPhilip Reames call double @llvm.exp.f64(double undef) 26340069286SPhilip Reames call <2 x double> @llvm.exp.v2f64(<2 x double> undef) 26440069286SPhilip Reames call <4 x double> @llvm.exp.v4f64(<4 x double> undef) 26540069286SPhilip Reames call <8 x double> @llvm.exp.v8f64(<8 x double> undef) 26640069286SPhilip Reames call <16 x double> @llvm.exp.v16f64(<16 x double> undef) 267*c3edeaa6SLiqinWeng call <vscale x 1 x double> @llvm.exp.nxv1f64(<vscale x 1 x double> undef) 268*c3edeaa6SLiqinWeng call <vscale x 2 x double> @llvm.exp.nxv2f64(<vscale x 2 x double> undef) 269*c3edeaa6SLiqinWeng call <vscale x 4 x double> @llvm.exp.nxv4f64(<vscale x 4 x double> undef) 270*c3edeaa6SLiqinWeng call <vscale x 8 x double> @llvm.exp.nxv8f64(<vscale x 8 x double> undef) 27140069286SPhilip Reames ret void 27240069286SPhilip Reames} 27340069286SPhilip Reames 2741d40fefbSLuke Laudefine void @exp_f16() { 2751d40fefbSLuke Lau; ZVFH-LABEL: 'exp_f16' 2761d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = call half @llvm.exp.f16(half undef) 2771d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %2 = call <2 x half> @llvm.exp.v2f16(<2 x half> undef) 2781d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %3 = call <4 x half> @llvm.exp.v4f16(<4 x half> undef) 2791d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %4 = call <8 x half> @llvm.exp.v8f16(<8 x half> undef) 2801d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %5 = call <16 x half> @llvm.exp.v16f16(<16 x half> undef) 2811d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x half> @llvm.exp.nxv1f16(<vscale x 1 x half> undef) 2821d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x half> @llvm.exp.nxv2f16(<vscale x 2 x half> undef) 2831d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x half> @llvm.exp.nxv4f16(<vscale x 4 x half> undef) 2841d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x half> @llvm.exp.nxv8f16(<vscale x 8 x half> undef) 2851d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 2861d40fefbSLuke Lau; 2871d40fefbSLuke Lau; ZVFHMIN-LABEL: 'exp_f16' 2881d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %1 = call half @llvm.exp.f16(half undef) 2891d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %2 = call <2 x half> @llvm.exp.v2f16(<2 x half> undef) 2901d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %3 = call <4 x half> @llvm.exp.v4f16(<4 x half> undef) 2911d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 88 for instruction: %4 = call <8 x half> @llvm.exp.v8f16(<8 x half> undef) 2921d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %5 = call <16 x half> @llvm.exp.v16f16(<16 x half> undef) 2932b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x half> @llvm.exp.nxv1f16(<vscale x 1 x half> undef) 2942b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x half> @llvm.exp.nxv2f16(<vscale x 2 x half> undef) 2952b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x half> @llvm.exp.nxv4f16(<vscale x 4 x half> undef) 2962b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x half> @llvm.exp.nxv8f16(<vscale x 8 x half> undef) 2971d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 2981d40fefbSLuke Lau; 2991d40fefbSLuke Lau call half @llvm.exp.f16(half undef) 3001d40fefbSLuke Lau call <2 x half> @llvm.exp.v2f16(<2 x half> undef) 3011d40fefbSLuke Lau call <4 x half> @llvm.exp.v4f16(<4 x half> undef) 3021d40fefbSLuke Lau call <8 x half> @llvm.exp.v8f16(<8 x half> undef) 3031d40fefbSLuke Lau call <16 x half> @llvm.exp.v16f16(<16 x half> undef) 304*c3edeaa6SLiqinWeng call <vscale x 1 x half> @llvm.exp.nxv1f16(<vscale x 1 x half> undef) 305*c3edeaa6SLiqinWeng call <vscale x 2 x half> @llvm.exp.nxv2f16(<vscale x 2 x half> undef) 306*c3edeaa6SLiqinWeng call <vscale x 4 x half> @llvm.exp.nxv4f16(<vscale x 4 x half> undef) 307*c3edeaa6SLiqinWeng call <vscale x 8 x half> @llvm.exp.nxv8f16(<vscale x 8 x half> undef) 3081d40fefbSLuke Lau ret void 3091d40fefbSLuke Lau} 3101d40fefbSLuke Lau 31140069286SPhilip Reamesdefine void @exp2() { 31240069286SPhilip Reames; CHECK-LABEL: 'exp2' 3131d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %1 = call bfloat @llvm.exp2.bf16(bfloat undef) 3141d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %2 = call <2 x bfloat> @llvm.exp2.v2bf16(<2 x bfloat> undef) 3151d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %3 = call <4 x bfloat> @llvm.exp2.v4bf16(<4 x bfloat> undef) 3161d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 88 for instruction: %4 = call <8 x bfloat> @llvm.exp2.v8bf16(<8 x bfloat> undef) 3171d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %5 = call <16 x bfloat> @llvm.exp2.v16bf16(<16 x bfloat> undef) 3182b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x bfloat> @llvm.exp2.nxv1bf16(<vscale x 1 x bfloat> undef) 3192b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x bfloat> @llvm.exp2.nxv2bf16(<vscale x 2 x bfloat> undef) 3202b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x bfloat> @llvm.exp2.nxv4bf16(<vscale x 4 x bfloat> undef) 3212b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x bfloat> @llvm.exp2.nxv8bf16(<vscale x 8 x bfloat> undef) 3222b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %10 = call <vscale x 16 x bfloat> @llvm.exp2.nxv16bf16(<vscale x 16 x bfloat> undef) 3231d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %11 = call float @llvm.exp2.f32(float undef) 3241d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %12 = call <2 x float> @llvm.exp2.v2f32(<2 x float> undef) 3251d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %13 = call <4 x float> @llvm.exp2.v4f32(<4 x float> undef) 3261d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 95 for instruction: %14 = call <8 x float> @llvm.exp2.v8f32(<8 x float> undef) 3271d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %15 = call <16 x float> @llvm.exp2.v16f32(<16 x float> undef) 3281d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %16 = call <vscale x 1 x float> @llvm.exp2.nxv1f32(<vscale x 1 x float> undef) 3291d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %17 = call <vscale x 2 x float> @llvm.exp2.nxv2f32(<vscale x 2 x float> undef) 3301d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %18 = call <vscale x 4 x float> @llvm.exp2.nxv4f32(<vscale x 4 x float> undef) 3311d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %19 = call <vscale x 8 x float> @llvm.exp2.nxv8f32(<vscale x 8 x float> undef) 3321d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %20 = call <vscale x 16 x float> @llvm.exp2.nxv16f32(<vscale x 16 x float> undef) 3331d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %21 = call double @llvm.exp2.f64(double undef) 3341d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %22 = call <2 x double> @llvm.exp2.v2f64(<2 x double> undef) 3351d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %23 = call <4 x double> @llvm.exp2.v4f64(<4 x double> undef) 3361d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 95 for instruction: %24 = call <8 x double> @llvm.exp2.v8f64(<8 x double> undef) 3371d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %25 = call <16 x double> @llvm.exp2.v16f64(<16 x double> undef) 3381d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %26 = call <vscale x 1 x double> @llvm.exp2.nxv1f64(<vscale x 1 x double> undef) 3391d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %27 = call <vscale x 2 x double> @llvm.exp2.nxv2f64(<vscale x 2 x double> undef) 3401d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %28 = call <vscale x 4 x double> @llvm.exp2.nxv4f64(<vscale x 4 x double> undef) 3411d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %29 = call <vscale x 8 x double> @llvm.exp2.nxv8f64(<vscale x 8 x double> undef) 3420a5d52a7SSergey Kachkov; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 34340069286SPhilip Reames; 3441d40fefbSLuke Lau call bfloat @llvm.exp2.bf16(bfloat undef) 3451d40fefbSLuke Lau call <2 x bfloat> @llvm.exp2.v2bf16(<2 x bfloat> undef) 3461d40fefbSLuke Lau call <4 x bfloat> @llvm.exp2.v4bf16(<4 x bfloat> undef) 3471d40fefbSLuke Lau call <8 x bfloat> @llvm.exp2.v8bf16(<8 x bfloat> undef) 3481d40fefbSLuke Lau call <16 x bfloat> @llvm.exp2.v16bf16(<16 x bfloat> undef) 349*c3edeaa6SLiqinWeng call <vscale x 1 x bfloat> @llvm.exp2.nxv1bf16(<vscale x 1 x bfloat> undef) 350*c3edeaa6SLiqinWeng call <vscale x 2 x bfloat> @llvm.exp2.nxv2bf16(<vscale x 2 x bfloat> undef) 351*c3edeaa6SLiqinWeng call <vscale x 4 x bfloat> @llvm.exp2.nxv4bf16(<vscale x 4 x bfloat> undef) 352*c3edeaa6SLiqinWeng call <vscale x 8 x bfloat> @llvm.exp2.nxv8bf16(<vscale x 8 x bfloat> undef) 353*c3edeaa6SLiqinWeng call <vscale x 16 x bfloat> @llvm.exp2.nxv16bf16(<vscale x 16 x bfloat> undef) 35440069286SPhilip Reames call float @llvm.exp2.f32(float undef) 35540069286SPhilip Reames call <2 x float> @llvm.exp2.v2f32(<2 x float> undef) 35640069286SPhilip Reames call <4 x float> @llvm.exp2.v4f32(<4 x float> undef) 35740069286SPhilip Reames call <8 x float> @llvm.exp2.v8f32(<8 x float> undef) 35840069286SPhilip Reames call <16 x float> @llvm.exp2.v16f32(<16 x float> undef) 359*c3edeaa6SLiqinWeng call <vscale x 1 x float> @llvm.exp2.nxv1f32(<vscale x 1 x float> undef) 360*c3edeaa6SLiqinWeng call <vscale x 2 x float> @llvm.exp2.nxv2f32(<vscale x 2 x float> undef) 361*c3edeaa6SLiqinWeng call <vscale x 4 x float> @llvm.exp2.nxv4f32(<vscale x 4 x float> undef) 362*c3edeaa6SLiqinWeng call <vscale x 8 x float> @llvm.exp2.nxv8f32(<vscale x 8 x float> undef) 363*c3edeaa6SLiqinWeng call <vscale x 16 x float> @llvm.exp2.nxv16f32(<vscale x 16 x float> undef) 36440069286SPhilip Reames call double @llvm.exp2.f64(double undef) 36540069286SPhilip Reames call <2 x double> @llvm.exp2.v2f64(<2 x double> undef) 36640069286SPhilip Reames call <4 x double> @llvm.exp2.v4f64(<4 x double> undef) 36740069286SPhilip Reames call <8 x double> @llvm.exp2.v8f64(<8 x double> undef) 36840069286SPhilip Reames call <16 x double> @llvm.exp2.v16f64(<16 x double> undef) 369*c3edeaa6SLiqinWeng call <vscale x 1 x double> @llvm.exp2.nxv1f64(<vscale x 1 x double> undef) 370*c3edeaa6SLiqinWeng call <vscale x 2 x double> @llvm.exp2.nxv2f64(<vscale x 2 x double> undef) 371*c3edeaa6SLiqinWeng call <vscale x 4 x double> @llvm.exp2.nxv4f64(<vscale x 4 x double> undef) 372*c3edeaa6SLiqinWeng call <vscale x 8 x double> @llvm.exp2.nxv8f64(<vscale x 8 x double> undef) 37340069286SPhilip Reames ret void 37440069286SPhilip Reames} 37540069286SPhilip Reames 3761d40fefbSLuke Laudefine void @exp2_f16() { 3771d40fefbSLuke Lau; ZVFH-LABEL: 'exp2_f16' 3781d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = call half @llvm.exp2.f16(half undef) 3791d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %2 = call <2 x half> @llvm.exp2.v2f16(<2 x half> undef) 3801d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %3 = call <4 x half> @llvm.exp2.v4f16(<4 x half> undef) 3811d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %4 = call <8 x half> @llvm.exp2.v8f16(<8 x half> undef) 3821d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %5 = call <16 x half> @llvm.exp2.v16f16(<16 x half> undef) 3831d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x half> @llvm.exp2.nxv1f16(<vscale x 1 x half> undef) 3841d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x half> @llvm.exp2.nxv2f16(<vscale x 2 x half> undef) 3851d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x half> @llvm.exp2.nxv4f16(<vscale x 4 x half> undef) 3861d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x half> @llvm.exp2.nxv8f16(<vscale x 8 x half> undef) 3871d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 3881d40fefbSLuke Lau; 3891d40fefbSLuke Lau; ZVFHMIN-LABEL: 'exp2_f16' 3901d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %1 = call half @llvm.exp2.f16(half undef) 3911d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %2 = call <2 x half> @llvm.exp2.v2f16(<2 x half> undef) 3921d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %3 = call <4 x half> @llvm.exp2.v4f16(<4 x half> undef) 3931d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 88 for instruction: %4 = call <8 x half> @llvm.exp2.v8f16(<8 x half> undef) 3941d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %5 = call <16 x half> @llvm.exp2.v16f16(<16 x half> undef) 3952b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x half> @llvm.exp2.nxv1f16(<vscale x 1 x half> undef) 3962b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x half> @llvm.exp2.nxv2f16(<vscale x 2 x half> undef) 3972b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x half> @llvm.exp2.nxv4f16(<vscale x 4 x half> undef) 3982b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x half> @llvm.exp2.nxv8f16(<vscale x 8 x half> undef) 3991d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 4001d40fefbSLuke Lau; 4011d40fefbSLuke Lau call half @llvm.exp2.f16(half undef) 4021d40fefbSLuke Lau call <2 x half> @llvm.exp2.v2f16(<2 x half> undef) 4031d40fefbSLuke Lau call <4 x half> @llvm.exp2.v4f16(<4 x half> undef) 4041d40fefbSLuke Lau call <8 x half> @llvm.exp2.v8f16(<8 x half> undef) 4051d40fefbSLuke Lau call <16 x half> @llvm.exp2.v16f16(<16 x half> undef) 406*c3edeaa6SLiqinWeng call <vscale x 1 x half> @llvm.exp2.nxv1f16(<vscale x 1 x half> undef) 407*c3edeaa6SLiqinWeng call <vscale x 2 x half> @llvm.exp2.nxv2f16(<vscale x 2 x half> undef) 408*c3edeaa6SLiqinWeng call <vscale x 4 x half> @llvm.exp2.nxv4f16(<vscale x 4 x half> undef) 409*c3edeaa6SLiqinWeng call <vscale x 8 x half> @llvm.exp2.nxv8f16(<vscale x 8 x half> undef) 4101d40fefbSLuke Lau ret void 4111d40fefbSLuke Lau} 4121d40fefbSLuke Lau 41340069286SPhilip Reamesdefine void @log() { 41440069286SPhilip Reames; CHECK-LABEL: 'log' 4151d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %1 = call bfloat @llvm.log.bf16(bfloat undef) 4161d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %2 = call <2 x bfloat> @llvm.log.v2bf16(<2 x bfloat> undef) 4171d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %3 = call <4 x bfloat> @llvm.log.v4bf16(<4 x bfloat> undef) 4181d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 88 for instruction: %4 = call <8 x bfloat> @llvm.log.v8bf16(<8 x bfloat> undef) 4191d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %5 = call <16 x bfloat> @llvm.log.v16bf16(<16 x bfloat> undef) 4202b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x bfloat> @llvm.log.nxv1bf16(<vscale x 1 x bfloat> undef) 4212b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x bfloat> @llvm.log.nxv2bf16(<vscale x 2 x bfloat> undef) 4222b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x bfloat> @llvm.log.nxv4bf16(<vscale x 4 x bfloat> undef) 4232b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x bfloat> @llvm.log.nxv8bf16(<vscale x 8 x bfloat> undef) 4242b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %10 = call <vscale x 16 x bfloat> @llvm.log.nxv16bf16(<vscale x 16 x bfloat> undef) 4251d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %11 = call float @llvm.log.f32(float undef) 4261d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %12 = call <2 x float> @llvm.log.v2f32(<2 x float> undef) 4271d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %13 = call <4 x float> @llvm.log.v4f32(<4 x float> undef) 4281d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 95 for instruction: %14 = call <8 x float> @llvm.log.v8f32(<8 x float> undef) 4291d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %15 = call <16 x float> @llvm.log.v16f32(<16 x float> undef) 4301d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %16 = call <vscale x 1 x float> @llvm.log.nxv1f32(<vscale x 1 x float> undef) 4311d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %17 = call <vscale x 2 x float> @llvm.log.nxv2f32(<vscale x 2 x float> undef) 4321d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %18 = call <vscale x 4 x float> @llvm.log.nxv4f32(<vscale x 4 x float> undef) 4331d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %19 = call <vscale x 8 x float> @llvm.log.nxv8f32(<vscale x 8 x float> undef) 4341d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %20 = call <vscale x 16 x float> @llvm.log.nxv16f32(<vscale x 16 x float> undef) 4351d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %21 = call double @llvm.log.f64(double undef) 4361d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %22 = call <2 x double> @llvm.log.v2f64(<2 x double> undef) 4371d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %23 = call <4 x double> @llvm.log.v4f64(<4 x double> undef) 4381d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 95 for instruction: %24 = call <8 x double> @llvm.log.v8f64(<8 x double> undef) 4391d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %25 = call <16 x double> @llvm.log.v16f64(<16 x double> undef) 4401d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %26 = call <vscale x 1 x double> @llvm.log.nxv1f64(<vscale x 1 x double> undef) 4411d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %27 = call <vscale x 2 x double> @llvm.log.nxv2f64(<vscale x 2 x double> undef) 4421d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %28 = call <vscale x 4 x double> @llvm.log.nxv4f64(<vscale x 4 x double> undef) 4431d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %29 = call <vscale x 8 x double> @llvm.log.nxv8f64(<vscale x 8 x double> undef) 4440a5d52a7SSergey Kachkov; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 44540069286SPhilip Reames; 4461d40fefbSLuke Lau call bfloat @llvm.log.bf16(bfloat undef) 4471d40fefbSLuke Lau call <2 x bfloat> @llvm.log.v2bf16(<2 x bfloat> undef) 4481d40fefbSLuke Lau call <4 x bfloat> @llvm.log.v4bf16(<4 x bfloat> undef) 4491d40fefbSLuke Lau call <8 x bfloat> @llvm.log.v8bf16(<8 x bfloat> undef) 4501d40fefbSLuke Lau call <16 x bfloat> @llvm.log.v16bf16(<16 x bfloat> undef) 451*c3edeaa6SLiqinWeng call <vscale x 1 x bfloat> @llvm.log.nxv1bf16(<vscale x 1 x bfloat> undef) 452*c3edeaa6SLiqinWeng call <vscale x 2 x bfloat> @llvm.log.nxv2bf16(<vscale x 2 x bfloat> undef) 453*c3edeaa6SLiqinWeng call <vscale x 4 x bfloat> @llvm.log.nxv4bf16(<vscale x 4 x bfloat> undef) 454*c3edeaa6SLiqinWeng call <vscale x 8 x bfloat> @llvm.log.nxv8bf16(<vscale x 8 x bfloat> undef) 455*c3edeaa6SLiqinWeng call <vscale x 16 x bfloat> @llvm.log.nxv16bf16(<vscale x 16 x bfloat> undef) 45640069286SPhilip Reames call float @llvm.log.f32(float undef) 45740069286SPhilip Reames call <2 x float> @llvm.log.v2f32(<2 x float> undef) 45840069286SPhilip Reames call <4 x float> @llvm.log.v4f32(<4 x float> undef) 45940069286SPhilip Reames call <8 x float> @llvm.log.v8f32(<8 x float> undef) 46040069286SPhilip Reames call <16 x float> @llvm.log.v16f32(<16 x float> undef) 461*c3edeaa6SLiqinWeng call <vscale x 1 x float> @llvm.log.nxv1f32(<vscale x 1 x float> undef) 462*c3edeaa6SLiqinWeng call <vscale x 2 x float> @llvm.log.nxv2f32(<vscale x 2 x float> undef) 463*c3edeaa6SLiqinWeng call <vscale x 4 x float> @llvm.log.nxv4f32(<vscale x 4 x float> undef) 464*c3edeaa6SLiqinWeng call <vscale x 8 x float> @llvm.log.nxv8f32(<vscale x 8 x float> undef) 465*c3edeaa6SLiqinWeng call <vscale x 16 x float> @llvm.log.nxv16f32(<vscale x 16 x float> undef) 46640069286SPhilip Reames call double @llvm.log.f64(double undef) 46740069286SPhilip Reames call <2 x double> @llvm.log.v2f64(<2 x double> undef) 46840069286SPhilip Reames call <4 x double> @llvm.log.v4f64(<4 x double> undef) 46940069286SPhilip Reames call <8 x double> @llvm.log.v8f64(<8 x double> undef) 47040069286SPhilip Reames call <16 x double> @llvm.log.v16f64(<16 x double> undef) 471*c3edeaa6SLiqinWeng call <vscale x 1 x double> @llvm.log.nxv1f64(<vscale x 1 x double> undef) 472*c3edeaa6SLiqinWeng call <vscale x 2 x double> @llvm.log.nxv2f64(<vscale x 2 x double> undef) 473*c3edeaa6SLiqinWeng call <vscale x 4 x double> @llvm.log.nxv4f64(<vscale x 4 x double> undef) 474*c3edeaa6SLiqinWeng call <vscale x 8 x double> @llvm.log.nxv8f64(<vscale x 8 x double> undef) 47540069286SPhilip Reames ret void 47640069286SPhilip Reames} 47740069286SPhilip Reames 4781d40fefbSLuke Laudefine void @log_f16() { 4791d40fefbSLuke Lau; ZVFH-LABEL: 'log_f16' 4801d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = call half @llvm.log.f16(half undef) 4811d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %2 = call <2 x half> @llvm.log.v2f16(<2 x half> undef) 4821d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %3 = call <4 x half> @llvm.log.v4f16(<4 x half> undef) 4831d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %4 = call <8 x half> @llvm.log.v8f16(<8 x half> undef) 4841d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %5 = call <16 x half> @llvm.log.v16f16(<16 x half> undef) 4851d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x half> @llvm.log.nxv1f16(<vscale x 1 x half> undef) 4861d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x half> @llvm.log.nxv2f16(<vscale x 2 x half> undef) 4871d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x half> @llvm.log.nxv4f16(<vscale x 4 x half> undef) 4881d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x half> @llvm.log.nxv8f16(<vscale x 8 x half> undef) 4891d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 4901d40fefbSLuke Lau; 4911d40fefbSLuke Lau; ZVFHMIN-LABEL: 'log_f16' 4921d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %1 = call half @llvm.log.f16(half undef) 4931d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %2 = call <2 x half> @llvm.log.v2f16(<2 x half> undef) 4941d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %3 = call <4 x half> @llvm.log.v4f16(<4 x half> undef) 4951d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 88 for instruction: %4 = call <8 x half> @llvm.log.v8f16(<8 x half> undef) 4961d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %5 = call <16 x half> @llvm.log.v16f16(<16 x half> undef) 4972b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x half> @llvm.log.nxv1f16(<vscale x 1 x half> undef) 4982b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x half> @llvm.log.nxv2f16(<vscale x 2 x half> undef) 4992b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x half> @llvm.log.nxv4f16(<vscale x 4 x half> undef) 5002b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x half> @llvm.log.nxv8f16(<vscale x 8 x half> undef) 5011d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 5021d40fefbSLuke Lau; 5031d40fefbSLuke Lau call half @llvm.log.f16(half undef) 5041d40fefbSLuke Lau call <2 x half> @llvm.log.v2f16(<2 x half> undef) 5051d40fefbSLuke Lau call <4 x half> @llvm.log.v4f16(<4 x half> undef) 5061d40fefbSLuke Lau call <8 x half> @llvm.log.v8f16(<8 x half> undef) 5071d40fefbSLuke Lau call <16 x half> @llvm.log.v16f16(<16 x half> undef) 508*c3edeaa6SLiqinWeng call <vscale x 1 x half> @llvm.log.nxv1f16(<vscale x 1 x half> undef) 509*c3edeaa6SLiqinWeng call <vscale x 2 x half> @llvm.log.nxv2f16(<vscale x 2 x half> undef) 510*c3edeaa6SLiqinWeng call <vscale x 4 x half> @llvm.log.nxv4f16(<vscale x 4 x half> undef) 511*c3edeaa6SLiqinWeng call <vscale x 8 x half> @llvm.log.nxv8f16(<vscale x 8 x half> undef) 5121d40fefbSLuke Lau ret void 5131d40fefbSLuke Lau} 5141d40fefbSLuke Lau 51540069286SPhilip Reamesdefine void @log10() { 51640069286SPhilip Reames; CHECK-LABEL: 'log10' 5171d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %1 = call bfloat @llvm.log10.bf16(bfloat undef) 5181d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %2 = call <2 x bfloat> @llvm.log10.v2bf16(<2 x bfloat> undef) 5191d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %3 = call <4 x bfloat> @llvm.log10.v4bf16(<4 x bfloat> undef) 5201d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 88 for instruction: %4 = call <8 x bfloat> @llvm.log10.v8bf16(<8 x bfloat> undef) 5211d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %5 = call <16 x bfloat> @llvm.log10.v16bf16(<16 x bfloat> undef) 5222b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x bfloat> @llvm.log10.nxv1bf16(<vscale x 1 x bfloat> undef) 5232b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x bfloat> @llvm.log10.nxv2bf16(<vscale x 2 x bfloat> undef) 5242b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x bfloat> @llvm.log10.nxv4bf16(<vscale x 4 x bfloat> undef) 5252b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x bfloat> @llvm.log10.nxv8bf16(<vscale x 8 x bfloat> undef) 5262b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %10 = call <vscale x 16 x bfloat> @llvm.log10.nxv16bf16(<vscale x 16 x bfloat> undef) 5271d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %11 = call float @llvm.log10.f32(float undef) 5281d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %12 = call <2 x float> @llvm.log10.v2f32(<2 x float> undef) 5291d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %13 = call <4 x float> @llvm.log10.v4f32(<4 x float> undef) 5301d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 95 for instruction: %14 = call <8 x float> @llvm.log10.v8f32(<8 x float> undef) 5311d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %15 = call <16 x float> @llvm.log10.v16f32(<16 x float> undef) 5321d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %16 = call <vscale x 1 x float> @llvm.log10.nxv1f32(<vscale x 1 x float> undef) 5331d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %17 = call <vscale x 2 x float> @llvm.log10.nxv2f32(<vscale x 2 x float> undef) 5341d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %18 = call <vscale x 4 x float> @llvm.log10.nxv4f32(<vscale x 4 x float> undef) 5351d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %19 = call <vscale x 8 x float> @llvm.log10.nxv8f32(<vscale x 8 x float> undef) 5361d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %20 = call <vscale x 16 x float> @llvm.log10.nxv16f32(<vscale x 16 x float> undef) 5371d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %21 = call double @llvm.log10.f64(double undef) 5381d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %22 = call <2 x double> @llvm.log10.v2f64(<2 x double> undef) 5391d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %23 = call <4 x double> @llvm.log10.v4f64(<4 x double> undef) 5401d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 95 for instruction: %24 = call <8 x double> @llvm.log10.v8f64(<8 x double> undef) 5411d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %25 = call <16 x double> @llvm.log10.v16f64(<16 x double> undef) 5421d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %26 = call <vscale x 1 x double> @llvm.log10.nxv1f64(<vscale x 1 x double> undef) 5431d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %27 = call <vscale x 2 x double> @llvm.log10.nxv2f64(<vscale x 2 x double> undef) 5441d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %28 = call <vscale x 4 x double> @llvm.log10.nxv4f64(<vscale x 4 x double> undef) 5451d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %29 = call <vscale x 8 x double> @llvm.log10.nxv8f64(<vscale x 8 x double> undef) 5460a5d52a7SSergey Kachkov; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 54740069286SPhilip Reames; 5481d40fefbSLuke Lau call bfloat @llvm.log10.bf16(bfloat undef) 5491d40fefbSLuke Lau call <2 x bfloat> @llvm.log10.v2bf16(<2 x bfloat> undef) 5501d40fefbSLuke Lau call <4 x bfloat> @llvm.log10.v4bf16(<4 x bfloat> undef) 5511d40fefbSLuke Lau call <8 x bfloat> @llvm.log10.v8bf16(<8 x bfloat> undef) 5521d40fefbSLuke Lau call <16 x bfloat> @llvm.log10.v16bf16(<16 x bfloat> undef) 553*c3edeaa6SLiqinWeng call <vscale x 1 x bfloat> @llvm.log10.nxv1bf16(<vscale x 1 x bfloat> undef) 554*c3edeaa6SLiqinWeng call <vscale x 2 x bfloat> @llvm.log10.nxv2bf16(<vscale x 2 x bfloat> undef) 555*c3edeaa6SLiqinWeng call <vscale x 4 x bfloat> @llvm.log10.nxv4bf16(<vscale x 4 x bfloat> undef) 556*c3edeaa6SLiqinWeng call <vscale x 8 x bfloat> @llvm.log10.nxv8bf16(<vscale x 8 x bfloat> undef) 557*c3edeaa6SLiqinWeng call <vscale x 16 x bfloat> @llvm.log10.nxv16bf16(<vscale x 16 x bfloat> undef) 55840069286SPhilip Reames call float @llvm.log10.f32(float undef) 55940069286SPhilip Reames call <2 x float> @llvm.log10.v2f32(<2 x float> undef) 56040069286SPhilip Reames call <4 x float> @llvm.log10.v4f32(<4 x float> undef) 56140069286SPhilip Reames call <8 x float> @llvm.log10.v8f32(<8 x float> undef) 56240069286SPhilip Reames call <16 x float> @llvm.log10.v16f32(<16 x float> undef) 563*c3edeaa6SLiqinWeng call <vscale x 1 x float> @llvm.log10.nxv1f32(<vscale x 1 x float> undef) 564*c3edeaa6SLiqinWeng call <vscale x 2 x float> @llvm.log10.nxv2f32(<vscale x 2 x float> undef) 565*c3edeaa6SLiqinWeng call <vscale x 4 x float> @llvm.log10.nxv4f32(<vscale x 4 x float> undef) 566*c3edeaa6SLiqinWeng call <vscale x 8 x float> @llvm.log10.nxv8f32(<vscale x 8 x float> undef) 567*c3edeaa6SLiqinWeng call <vscale x 16 x float> @llvm.log10.nxv16f32(<vscale x 16 x float> undef) 56840069286SPhilip Reames call double @llvm.log10.f64(double undef) 56940069286SPhilip Reames call <2 x double> @llvm.log10.v2f64(<2 x double> undef) 57040069286SPhilip Reames call <4 x double> @llvm.log10.v4f64(<4 x double> undef) 57140069286SPhilip Reames call <8 x double> @llvm.log10.v8f64(<8 x double> undef) 57240069286SPhilip Reames call <16 x double> @llvm.log10.v16f64(<16 x double> undef) 573*c3edeaa6SLiqinWeng call <vscale x 1 x double> @llvm.log10.nxv1f64(<vscale x 1 x double> undef) 574*c3edeaa6SLiqinWeng call <vscale x 2 x double> @llvm.log10.nxv2f64(<vscale x 2 x double> undef) 575*c3edeaa6SLiqinWeng call <vscale x 4 x double> @llvm.log10.nxv4f64(<vscale x 4 x double> undef) 576*c3edeaa6SLiqinWeng call <vscale x 8 x double> @llvm.log10.nxv8f64(<vscale x 8 x double> undef) 57740069286SPhilip Reames ret void 57840069286SPhilip Reames} 57940069286SPhilip Reames 5801d40fefbSLuke Laudefine void @log10_f16() { 5811d40fefbSLuke Lau; ZVFH-LABEL: 'log10_f16' 5821d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = call half @llvm.log10.f16(half undef) 5831d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %2 = call <2 x half> @llvm.log10.v2f16(<2 x half> undef) 5841d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %3 = call <4 x half> @llvm.log10.v4f16(<4 x half> undef) 5851d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %4 = call <8 x half> @llvm.log10.v8f16(<8 x half> undef) 5861d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %5 = call <16 x half> @llvm.log10.v16f16(<16 x half> undef) 5871d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x half> @llvm.log10.nxv1f16(<vscale x 1 x half> undef) 5881d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x half> @llvm.log10.nxv2f16(<vscale x 2 x half> undef) 5891d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x half> @llvm.log10.nxv4f16(<vscale x 4 x half> undef) 5901d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x half> @llvm.log10.nxv8f16(<vscale x 8 x half> undef) 5911d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 5921d40fefbSLuke Lau; 5931d40fefbSLuke Lau; ZVFHMIN-LABEL: 'log10_f16' 5941d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %1 = call half @llvm.log10.f16(half undef) 5951d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %2 = call <2 x half> @llvm.log10.v2f16(<2 x half> undef) 5961d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %3 = call <4 x half> @llvm.log10.v4f16(<4 x half> undef) 5971d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 88 for instruction: %4 = call <8 x half> @llvm.log10.v8f16(<8 x half> undef) 5981d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %5 = call <16 x half> @llvm.log10.v16f16(<16 x half> undef) 5992b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x half> @llvm.log10.nxv1f16(<vscale x 1 x half> undef) 6002b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x half> @llvm.log10.nxv2f16(<vscale x 2 x half> undef) 6012b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x half> @llvm.log10.nxv4f16(<vscale x 4 x half> undef) 6022b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x half> @llvm.log10.nxv8f16(<vscale x 8 x half> undef) 6031d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 6041d40fefbSLuke Lau; 6051d40fefbSLuke Lau call half @llvm.log10.f16(half undef) 6061d40fefbSLuke Lau call <2 x half> @llvm.log10.v2f16(<2 x half> undef) 6071d40fefbSLuke Lau call <4 x half> @llvm.log10.v4f16(<4 x half> undef) 6081d40fefbSLuke Lau call <8 x half> @llvm.log10.v8f16(<8 x half> undef) 6091d40fefbSLuke Lau call <16 x half> @llvm.log10.v16f16(<16 x half> undef) 610*c3edeaa6SLiqinWeng call <vscale x 1 x half> @llvm.log10.nxv1f16(<vscale x 1 x half> undef) 611*c3edeaa6SLiqinWeng call <vscale x 2 x half> @llvm.log10.nxv2f16(<vscale x 2 x half> undef) 612*c3edeaa6SLiqinWeng call <vscale x 4 x half> @llvm.log10.nxv4f16(<vscale x 4 x half> undef) 613*c3edeaa6SLiqinWeng call <vscale x 8 x half> @llvm.log10.nxv8f16(<vscale x 8 x half> undef) 6141d40fefbSLuke Lau ret void 6151d40fefbSLuke Lau} 6161d40fefbSLuke Lau 61740069286SPhilip Reamesdefine void @log2() { 61840069286SPhilip Reames; CHECK-LABEL: 'log2' 6191d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %1 = call bfloat @llvm.log2.bf16(bfloat undef) 6201d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %2 = call <2 x bfloat> @llvm.log2.v2bf16(<2 x bfloat> undef) 6211d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %3 = call <4 x bfloat> @llvm.log2.v4bf16(<4 x bfloat> undef) 6221d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 88 for instruction: %4 = call <8 x bfloat> @llvm.log2.v8bf16(<8 x bfloat> undef) 6231d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %5 = call <16 x bfloat> @llvm.log2.v16bf16(<16 x bfloat> undef) 6242b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x bfloat> @llvm.log2.nxv1bf16(<vscale x 1 x bfloat> undef) 6252b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x bfloat> @llvm.log2.nxv2bf16(<vscale x 2 x bfloat> undef) 6262b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x bfloat> @llvm.log2.nxv4bf16(<vscale x 4 x bfloat> undef) 6272b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x bfloat> @llvm.log2.nxv8bf16(<vscale x 8 x bfloat> undef) 6282b6b7f66SLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %10 = call <vscale x 16 x bfloat> @llvm.log2.nxv16bf16(<vscale x 16 x bfloat> undef) 6291d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %11 = call float @llvm.log2.f32(float undef) 6301d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %12 = call <2 x float> @llvm.log2.v2f32(<2 x float> undef) 6311d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %13 = call <4 x float> @llvm.log2.v4f32(<4 x float> undef) 6321d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 95 for instruction: %14 = call <8 x float> @llvm.log2.v8f32(<8 x float> undef) 6331d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %15 = call <16 x float> @llvm.log2.v16f32(<16 x float> undef) 6341d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %16 = call <vscale x 1 x float> @llvm.log2.nxv1f32(<vscale x 1 x float> undef) 6351d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %17 = call <vscale x 2 x float> @llvm.log2.nxv2f32(<vscale x 2 x float> undef) 6361d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %18 = call <vscale x 4 x float> @llvm.log2.nxv4f32(<vscale x 4 x float> undef) 6371d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %19 = call <vscale x 8 x float> @llvm.log2.nxv8f32(<vscale x 8 x float> undef) 6381d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %20 = call <vscale x 16 x float> @llvm.log2.nxv16f32(<vscale x 16 x float> undef) 6391d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %21 = call double @llvm.log2.f64(double undef) 6401d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %22 = call <2 x double> @llvm.log2.v2f64(<2 x double> undef) 6411d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %23 = call <4 x double> @llvm.log2.v4f64(<4 x double> undef) 6421d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 95 for instruction: %24 = call <8 x double> @llvm.log2.v8f64(<8 x double> undef) 6431d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %25 = call <16 x double> @llvm.log2.v16f64(<16 x double> undef) 6441d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %26 = call <vscale x 1 x double> @llvm.log2.nxv1f64(<vscale x 1 x double> undef) 6451d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %27 = call <vscale x 2 x double> @llvm.log2.nxv2f64(<vscale x 2 x double> undef) 6461d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %28 = call <vscale x 4 x double> @llvm.log2.nxv4f64(<vscale x 4 x double> undef) 6471d40fefbSLuke Lau; CHECK-NEXT: Cost Model: Invalid cost for instruction: %29 = call <vscale x 8 x double> @llvm.log2.nxv8f64(<vscale x 8 x double> undef) 6480a5d52a7SSergey Kachkov; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 64940069286SPhilip Reames; 6501d40fefbSLuke Lau call bfloat @llvm.log2.bf16(bfloat undef) 6511d40fefbSLuke Lau call <2 x bfloat> @llvm.log2.v2bf16(<2 x bfloat> undef) 6521d40fefbSLuke Lau call <4 x bfloat> @llvm.log2.v4bf16(<4 x bfloat> undef) 6531d40fefbSLuke Lau call <8 x bfloat> @llvm.log2.v8bf16(<8 x bfloat> undef) 6541d40fefbSLuke Lau call <16 x bfloat> @llvm.log2.v16bf16(<16 x bfloat> undef) 655*c3edeaa6SLiqinWeng call <vscale x 1 x bfloat> @llvm.log2.nxv1bf16(<vscale x 1 x bfloat> undef) 656*c3edeaa6SLiqinWeng call <vscale x 2 x bfloat> @llvm.log2.nxv2bf16(<vscale x 2 x bfloat> undef) 657*c3edeaa6SLiqinWeng call <vscale x 4 x bfloat> @llvm.log2.nxv4bf16(<vscale x 4 x bfloat> undef) 658*c3edeaa6SLiqinWeng call <vscale x 8 x bfloat> @llvm.log2.nxv8bf16(<vscale x 8 x bfloat> undef) 659*c3edeaa6SLiqinWeng call <vscale x 16 x bfloat> @llvm.log2.nxv16bf16(<vscale x 16 x bfloat> undef) 66040069286SPhilip Reames call float @llvm.log2.f32(float undef) 66140069286SPhilip Reames call <2 x float> @llvm.log2.v2f32(<2 x float> undef) 66240069286SPhilip Reames call <4 x float> @llvm.log2.v4f32(<4 x float> undef) 66340069286SPhilip Reames call <8 x float> @llvm.log2.v8f32(<8 x float> undef) 66440069286SPhilip Reames call <16 x float> @llvm.log2.v16f32(<16 x float> undef) 665*c3edeaa6SLiqinWeng call <vscale x 1 x float> @llvm.log2.nxv1f32(<vscale x 1 x float> undef) 666*c3edeaa6SLiqinWeng call <vscale x 2 x float> @llvm.log2.nxv2f32(<vscale x 2 x float> undef) 667*c3edeaa6SLiqinWeng call <vscale x 4 x float> @llvm.log2.nxv4f32(<vscale x 4 x float> undef) 668*c3edeaa6SLiqinWeng call <vscale x 8 x float> @llvm.log2.nxv8f32(<vscale x 8 x float> undef) 669*c3edeaa6SLiqinWeng call <vscale x 16 x float> @llvm.log2.nxv16f32(<vscale x 16 x float> undef) 67040069286SPhilip Reames call double @llvm.log2.f64(double undef) 67140069286SPhilip Reames call <2 x double> @llvm.log2.v2f64(<2 x double> undef) 67240069286SPhilip Reames call <4 x double> @llvm.log2.v4f64(<4 x double> undef) 67340069286SPhilip Reames call <8 x double> @llvm.log2.v8f64(<8 x double> undef) 67440069286SPhilip Reames call <16 x double> @llvm.log2.v16f64(<16 x double> undef) 675*c3edeaa6SLiqinWeng call <vscale x 1 x double> @llvm.log2.nxv1f64(<vscale x 1 x double> undef) 676*c3edeaa6SLiqinWeng call <vscale x 2 x double> @llvm.log2.nxv2f64(<vscale x 2 x double> undef) 677*c3edeaa6SLiqinWeng call <vscale x 4 x double> @llvm.log2.nxv4f64(<vscale x 4 x double> undef) 678*c3edeaa6SLiqinWeng call <vscale x 8 x double> @llvm.log2.nxv8f64(<vscale x 8 x double> undef) 67940069286SPhilip Reames ret void 68040069286SPhilip Reames} 68140069286SPhilip Reames 6821d40fefbSLuke Laudefine void @log2_f16() { 6831d40fefbSLuke Lau; ZVFH-LABEL: 'log2_f16' 6841d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = call half @llvm.log2.f16(half undef) 6851d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %2 = call <2 x half> @llvm.log2.v2f16(<2 x half> undef) 6861d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %3 = call <4 x half> @llvm.log2.v4f16(<4 x half> undef) 6871d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %4 = call <8 x half> @llvm.log2.v8f16(<8 x half> undef) 6881d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 47 for instruction: %5 = call <16 x half> @llvm.log2.v16f16(<16 x half> undef) 6891d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x half> @llvm.log2.nxv1f16(<vscale x 1 x half> undef) 6901d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x half> @llvm.log2.nxv2f16(<vscale x 2 x half> undef) 6911d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x half> @llvm.log2.nxv4f16(<vscale x 4 x half> undef) 6921d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x half> @llvm.log2.nxv8f16(<vscale x 8 x half> undef) 6931d40fefbSLuke Lau; ZVFH-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 6941d40fefbSLuke Lau; 6951d40fefbSLuke Lau; ZVFHMIN-LABEL: 'log2_f16' 6961d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %1 = call half @llvm.log2.f16(half undef) 6971d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %2 = call <2 x half> @llvm.log2.v2f16(<2 x half> undef) 6981d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 44 for instruction: %3 = call <4 x half> @llvm.log2.v4f16(<4 x half> undef) 6991d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 88 for instruction: %4 = call <8 x half> @llvm.log2.v8f16(<8 x half> undef) 7001d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 191 for instruction: %5 = call <16 x half> @llvm.log2.v16f16(<16 x half> undef) 7012b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %6 = call <vscale x 1 x half> @llvm.log2.nxv1f16(<vscale x 1 x half> undef) 7022b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %7 = call <vscale x 2 x half> @llvm.log2.nxv2f16(<vscale x 2 x half> undef) 7032b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %8 = call <vscale x 4 x half> @llvm.log2.nxv4f16(<vscale x 4 x half> undef) 7042b6b7f66SLuke Lau; ZVFHMIN-NEXT: Cost Model: Invalid cost for instruction: %9 = call <vscale x 8 x half> @llvm.log2.nxv8f16(<vscale x 8 x half> undef) 7051d40fefbSLuke Lau; ZVFHMIN-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 7061d40fefbSLuke Lau; 7071d40fefbSLuke Lau call half @llvm.log2.f16(half undef) 7081d40fefbSLuke Lau call <2 x half> @llvm.log2.v2f16(<2 x half> undef) 7091d40fefbSLuke Lau call <4 x half> @llvm.log2.v4f16(<4 x half> undef) 7101d40fefbSLuke Lau call <8 x half> @llvm.log2.v8f16(<8 x half> undef) 7111d40fefbSLuke Lau call <16 x half> @llvm.log2.v16f16(<16 x half> undef) 712*c3edeaa6SLiqinWeng call <vscale x 1 x half> @llvm.log2.nxv1f16(<vscale x 1 x half> undef) 713*c3edeaa6SLiqinWeng call <vscale x 2 x half> @llvm.log2.nxv2f16(<vscale x 2 x half> undef) 714*c3edeaa6SLiqinWeng call <vscale x 4 x half> @llvm.log2.nxv4f16(<vscale x 4 x half> undef) 715*c3edeaa6SLiqinWeng call <vscale x 8 x half> @llvm.log2.nxv8f16(<vscale x 8 x half> undef) 7161d40fefbSLuke Lau ret void 7171d40fefbSLuke Lau} 71840069286SPhilip Reames 719