Skip to content

Commit d1e98bf

Browse files
authored
Revert "[AArch64] Intrinsics aarch64_{get,set}_fpsr (#81867)"
This reverts commit 00c0638.
1 parent 8e22fff commit d1e98bf

File tree

5 files changed

+8
-69
lines changed

5 files changed

+8
-69
lines changed

llvm/include/llvm/IR/IntrinsicsAArch64.td

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -703,19 +703,17 @@ def int_aarch64_neon_tbx3 : AdvSIMD_Tbx3_Intrinsic;
703703
def int_aarch64_neon_tbx4 : AdvSIMD_Tbx4_Intrinsic;
704704

705705
let TargetPrefix = "aarch64" in {
706-
class FPENV_Get_Intrinsic
706+
class FPCR_Get_Intrinsic
707707
: DefaultAttrsIntrinsic<[llvm_i64_ty], [], [IntrNoMem, IntrHasSideEffects]>;
708-
class FPENV_Set_Intrinsic
708+
class FPCR_Set_Intrinsic
709709
: DefaultAttrsIntrinsic<[], [llvm_i64_ty], [IntrNoMem, IntrHasSideEffects]>;
710710
class RNDR_Intrinsic
711711
: DefaultAttrsIntrinsic<[llvm_i64_ty, llvm_i1_ty], [], [IntrNoMem, IntrHasSideEffects]>;
712712
}
713713

714-
// FP environment registers.
715-
def int_aarch64_get_fpcr : FPENV_Get_Intrinsic;
716-
def int_aarch64_set_fpcr : FPENV_Set_Intrinsic;
717-
def int_aarch64_get_fpsr : FPENV_Get_Intrinsic;
718-
def int_aarch64_set_fpsr : FPENV_Set_Intrinsic;
714+
// FPCR
715+
def int_aarch64_get_fpcr : FPCR_Get_Intrinsic;
716+
def int_aarch64_set_fpcr : FPCR_Set_Intrinsic;
719717

720718
// Armv8.5-A Random number generation intrinsics
721719
def int_aarch64_rndr : RNDR_Intrinsic;

llvm/lib/Target/AArch64/AArch64InstrInfo.td

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1805,7 +1805,7 @@ def HWASAN_CHECK_MEMACCESS_SHORTGRANULES : Pseudo<
18051805
// The virtual cycle counter register is CNTVCT_EL0.
18061806
def : Pat<(readcyclecounter), (MRS 0xdf02)>;
18071807

1808-
// FPCR and FPSR registers.
1808+
// FPCR register
18091809
let Uses = [FPCR] in
18101810
def MRS_FPCR : Pseudo<(outs GPR64:$dst), (ins),
18111811
[(set GPR64:$dst, (int_aarch64_get_fpcr))]>,
@@ -1817,17 +1817,6 @@ def MSR_FPCR : Pseudo<(outs), (ins GPR64:$val),
18171817
PseudoInstExpansion<(MSR 0xda20, GPR64:$val)>,
18181818
Sched<[WriteSys]>;
18191819

1820-
let Uses = [FPSR] in
1821-
def MRS_FPSR : Pseudo<(outs GPR64:$dst), (ins),
1822-
[(set GPR64:$dst, (int_aarch64_get_fpsr))]>,
1823-
PseudoInstExpansion<(MRS GPR64:$dst, 0xda21)>,
1824-
Sched<[WriteSys]>;
1825-
let Defs = [FPSR] in
1826-
def MSR_FPSR : Pseudo<(outs), (ins GPR64:$val),
1827-
[(int_aarch64_set_fpsr i64:$val)]>,
1828-
PseudoInstExpansion<(MSR 0xda21, GPR64:$val)>,
1829-
Sched<[WriteSys]>;
1830-
18311820
// Generic system instructions
18321821
def SYSxt : SystemXtI<0, "sys">;
18331822
def SYSLxt : SystemLXtI<1, "sysl">;

llvm/lib/Target/AArch64/AArch64RegisterInfo.td

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,6 @@ def VG : AArch64Reg<0, "vg">, DwarfRegNum<[46]>;
147147
// Floating-point control register
148148
def FPCR : AArch64Reg<0, "fpcr">;
149149

150-
// Floating-point status register.
151-
def FPSR : AArch64Reg<0, "fpsr">;
152-
153150
// GPR register classes with the intersections of GPR32/GPR32sp and
154151
// GPR64/GPR64sp for use by the coalescer.
155152
def GPR32common : RegisterClass<"AArch64", [i32], 32, (sequence "W%u", 0, 30)> {

llvm/test/CodeGen/AArch64/arm64-fpenv.ll

Lines changed: 0 additions & 45 deletions
This file was deleted.

0 commit comments

Comments
 (0)