; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 ; RUN: llc -mattr=+sve2,+fp8 < %s | FileCheck %s ; RUN: llc -mattr=+sve,+sme2,+fp8 < %s | FileCheck %s ; RUN: llc -mattr=+sme2,+fp8 --force-streaming < %s | FileCheck %s target triple = "aarch64-linux" define @cvt1_bf16( %s) { ; CHECK-LABEL: cvt1_bf16: ; CHECK: // %bb.0: ; CHECK-NEXT: bf1cvt z0.h, z0.b ; CHECK-NEXT: ret %r = call @llvm.aarch64.sve.fp8.cvt1.nxv8bf16( %s) ret %r } define @cvt2_bf16( %s) { ; CHECK-LABEL: cvt2_bf16: ; CHECK: // %bb.0: ; CHECK-NEXT: bf2cvt z0.h, z0.b ; CHECK-NEXT: ret %r = call @llvm.aarch64.sve.fp8.cvt2.nxv8bf16( %s) ret %r } define @cvtlt1_bf16( %s) { ; CHECK-LABEL: cvtlt1_bf16: ; CHECK: // %bb.0: ; CHECK-NEXT: bf1cvtlt z0.h, z0.b ; CHECK-NEXT: ret %r = call @llvm.aarch64.sve.fp8.cvtlt1.nxv8bf16( %s) ret %r } define @cvtlt2_bf16( %s) { ; CHECK-LABEL: cvtlt2_bf16: ; CHECK: // %bb.0: ; CHECK-NEXT: bf2cvtlt z0.h, z0.b ; CHECK-NEXT: ret %r = call @llvm.aarch64.sve.fp8.cvtlt2.nxv8bf16( %s) ret %r } define @cvt1_f16( %s) { ; CHECK-LABEL: cvt1_f16: ; CHECK: // %bb.0: ; CHECK-NEXT: f1cvt z0.h, z0.b ; CHECK-NEXT: ret %r = call @llvm.aarch64.sve.fp8.cvt1.nxv8f16( %s) ret %r } define @cvt2_f16( %s) { ; CHECK-LABEL: cvt2_f16: ; CHECK: // %bb.0: ; CHECK-NEXT: f2cvt z0.h, z0.b ; CHECK-NEXT: ret %r = call @llvm.aarch64.sve.fp8.cvt2.nxv8f16( %s) ret %r } define @cvtlt1_f16( %s) { ; CHECK-LABEL: cvtlt1_f16: ; CHECK: // %bb.0: ; CHECK-NEXT: f1cvtlt z0.h, z0.b ; CHECK-NEXT: ret %r = call @llvm.aarch64.sve.fp8.cvtlt1.nxv8f16( %s) ret %r } define @cvtlt2_f16( %s) { ; CHECK-LABEL: cvtlt2_f16: ; CHECK: // %bb.0: ; CHECK-NEXT: f2cvtlt z0.h, z0.b ; CHECK-NEXT: ret %r = call @llvm.aarch64.sve.fp8.cvtlt2.nxv8f16( %s) ret %r }