; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sve < %s | FileCheck %s ; ; RDFFR ; define @rdffr() { ; CHECK-LABEL: rdffr: ; CHECK: rdffr p0.b ; CHECK-NEXT: ret %out = call @llvm.aarch64.sve.rdffr() ret %out } define @rdffr_z( %pg) { ; CHECK-LABEL: rdffr_z: ; CHECK: rdffr p0.b, p0/z ; CHECK-NEXT: ret %out = call @llvm.aarch64.sve.rdffr.z( %pg) ret %out } ; ; SETFFR ; define void @set_ffr() { ; CHECK-LABEL: set_ffr: ; CHECK: setffr ; CHECK-NEXT: ret call void @llvm.aarch64.sve.setffr() ret void } ; ; WRFFR ; define void @wrffr( %a) { ; CHECK-LABEL: wrffr: ; CHECK: wrffr p0.b ; CHECK-NEXT: ret call void @llvm.aarch64.sve.wrffr( %a) ret void } declare @llvm.aarch64.sve.rdffr() declare @llvm.aarch64.sve.rdffr.z() declare void @llvm.aarch64.sve.setffr() declare void @llvm.aarch64.sve.wrffr()