llvm-project/llvm/test/CodeGen/MIR/AArch64
John Brawn 49510c5020 [AArch64] Mark all instructions that read/write FPCR as doing so
All instructions that can raise fp exceptions also read FPCR, with the
only other instructions that interact with it being the MSR/MRS to
write/read FPCR.

Introducing an FPCR register also requires adjusting
invalidateWindowsRegisterPairing in AArch64FrameLowering.cpp to use
the encoded value of registers instead of their enum value, as the
enum value is based on the alphabetical order of register names and
now FPCR is placed between FP and LR.

This change unfortunately means a large number of mir tests need to
be adjusted due to instructions now requiring an implicit fpcr operand
to be present.

Differential Revision: https://reviews.llvm.org/D121929
2022-11-16 12:29:50 +00:00
..
addrspace-memoperands.mir
atomic-memoperands.mir
base-memoperands.mir
cfi.mir
empty-MF.mir
expected-target-flag-name.mir
function-info-noredzone-present.mir
generic-virtual-registers-error.mir
generic-virtual-registers-with-regbank-error.mir
intrinsics.mir
invalid-target-flag-name.mir
invalid-target-memoperands.mir
lit.local.cfg
machine-metadata-error.mir
machine-metadata.mir
mir-canon-constant-pool-hash.mir [MIRVRegNamer] Avoid opcode hash collision 2022-11-02 13:53:12 +00:00
mir-canon-jump-table.mir [MIRVRegNamer] Avoid opcode hash collision 2022-11-02 13:53:12 +00:00
mirCanonCopyCopyProp.mir [MIRVRegNamer] Avoid opcode hash collision 2022-11-02 13:53:12 +00:00
mirCanonIdempotent.mir [AArch64] Mark all instructions that read/write FPCR as doing so 2022-11-16 12:29:50 +00:00
mirnamer.mir [MIRVRegNamer] Avoid opcode hash collision 2022-11-02 13:53:12 +00:00
multiple-lhs-operands.mir
namedvregs.mir
parse-low-level-type-invalid0.mir
parse-low-level-type-invalid1.mir
parse-low-level-type-invalid2.mir
parse-low-level-type-invalid3.mir
parse-low-level-type-invalid4.mir
parse-low-level-type-invalid5.mir
parse-low-level-type-invalid6.mir
parse-low-level-type-invalid7.mir
parse-low-level-type-invalid8.mir
parse-low-level-type-invalid9.mir
parse-low-level-type-invalid10.mir
parse-shufflemask-invalid0.mir
parse-shufflemask-invalid1.mir
parse-shufflemask-invalid2.mir
parse-shufflemask-invalid3.mir
parse-shufflemask.mir
print-parse-overloaded-intrinsics.mir
print-parse-vector-of-pointers-llt.mir
print-parse-verify-failedISel-property.mir
register-operand-bank.mir
return-address-signing.mir
stack-object-local-offset.mir
swp.mir
target-flags.mir
target-memoperands.mir
unnamed-stack.ll