; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 ; RUN: llc -mattr=+sve2,+fp8 -enable-subreg-liveness=true < %s | FileCheck %s ; RUN: llc -mattr=+sve,+sme2,+fp8 -enable-subreg-liveness=true < %s | FileCheck %s ; RUN: llc -mattr=+sme2,+fp8 --force-streaming -enable-subreg-liveness=true < %s | FileCheck %s target triple = "aarch64-linux" define @cvtn_bf16( %s1, %s2) { ; CHECK-LABEL: cvtn_bf16: ; CHECK: // %bb.0: ; CHECK-NEXT: bfcvtn z0.b, { z0.h, z1.h } ; CHECK-NEXT: ret %r = call @llvm.aarch64.sve.fp8.cvtn.nxv8bf16( %s1, %s2) ret %r } define @cvtn_f16( %s1, %s2) { ; CHECK-LABEL: cvtn_f16: ; CHECK: // %bb.0: ; CHECK-NEXT: fcvtn z0.b, { z0.h, z1.h } ; CHECK-NEXT: ret %r = call @llvm.aarch64.sve.fp8.cvtn.nxv8f16( %s1, %s2) ret %r } define @cvtnb_f32( %s1, %s2) { ; CHECK-LABEL: cvtnb_f32: ; CHECK: // %bb.0: ; CHECK-NEXT: fcvtnb z0.b, { z0.s, z1.s } ; CHECK-NEXT: ret %r = call @llvm.aarch64.sve.fp8.cvtnb.nxv4f32( %s1, %s2) ret %r } define @cvtnt_f32( %d, %s1, %s2) { ; CHECK-LABEL: cvtnt_f32: ; CHECK: // %bb.0: ; CHECK-NEXT: mov z3.d, z2.d ; CHECK-NEXT: mov z2.d, z1.d ; CHECK-NEXT: fcvtnt z0.b, { z2.s, z3.s } ; CHECK-NEXT: ret %r = call @llvm.aarch64.sve.fp8.cvtnt.nxv4f32( %d, %s1, %s2) ret %r }