Skip to content
Commit 39af4659 authored by zhongyunde's avatar zhongyunde
Browse files

[AArch64][SVE] Replace destructive operand of vector zeros with a bundled MOVPRFX instruction

Replace unary instructions where the destructive operand is a vector of zeros
with a bundled MOVPRFX instruction, e.g:
       Transform:
           %X0 = DUP_ZI_S 0, 0
           %X0 = FLOGB_ZPmZ_S X0, P0, X2
        into:
            X0 = MOVPRFX P0/z, X1  // doesn't introduce any fake register dependencies compare to X0 = MOVPRFX P0/z, X0
            X0 = FLOGB_ZPmZ_S X0, P0, X2
NOTE: This patch add a @earlyclobber constraint to PredOneOpPassthruPseudo to ensure
    safe register allocation for movprfx usage.

Depends on D105889

Reviewed By: paulwalker-arm

Differential Revision: https://reviews.llvm.org/D138888
parent 3df16e6f
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment