AArch64: Addressing Cortex-A53 erratum 835769.
Some early revisions of the Cortex-A53 have an erratum (835769) whereby it is possible for a 64-bit multiply-accumulate instruction in AArch64 state to generate an incorrect result. The conditions which a portion of code must satisfy in order for the issue to be observed are somewhat complex, but all cases end with a memory (load, store, or prefetch) instruction followed immediately by the multiply-accumulate operation. This commit makes sure to insert a nop instruction before a 64-bit msub instruction, whenever the latter is preceded by a memory instruction. This behaviour should make it impossible for the Arm64 backend to generate a sequence of instructions which matches the erratum conditions. Change-Id: I0022eccd41180183c20231dab6e2671d001a204c
Loading
Please sign in to comment