Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f0d644fa authored by The Android Open Source Project's avatar The Android Open Source Project
Browse files

merge from open-source master

Change-Id: I1ec0e1e702687697eccd3bf6c4f115cac85e382c
parents 75a1d218 62f4d86b
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -433,6 +433,16 @@ void ARMAssembler::UXTB16(int cc, int Rd, int Rm, int rotate)
{
    *mPC++ = (cc<<28) | 0x6CF0070 | (Rd<<12) | ((rotate >> 3) << 10) | Rm;
}
#if 0
#pragma mark -
#pragma mark Bit manipulation (ARMv7+ only)...
#endif

// Bit manipulation (ARMv7+ only)...
void ARMAssembler::UBFX(int cc, int Rd, int Rn, int lsb, int width)
{
    *mPC++ = (cc<<28) | 0x7E00000 | ((width-1)<<16) | (Rd<<12) | (lsb<<7) | 0x50 | Rn;
}

}; // namespace android
+1 −0
Original line number Diff line number Diff line
@@ -124,6 +124,7 @@ public:
    virtual void SMLAW(int cc, int y,
                int Rd, int Rm, int Rs, int Rn);
    virtual void UXTB16(int cc, int Rd, int Rm, int rotate);
    virtual void UBFX(int cc, int Rd, int Rn, int lsb, int width);

private:
                ARMAssembler(const ARMAssembler& rhs);
+3 −0
Original line number Diff line number Diff line
@@ -206,6 +206,9 @@ public:
    // byte/half word extract...
    virtual void UXTB16(int cc, int Rd, int Rm, int rotate) = 0;

    // bit manipulation...
    virtual void UBFX(int cc, int Rd, int Rn, int lsb, int width) = 0;

    // -----------------------------------------------------------------------
    // convenience...
    // -----------------------------------------------------------------------
+4 −0
Original line number Diff line number Diff line
@@ -199,5 +199,9 @@ void ARMAssemblerProxy::UXTB16(int cc, int Rd, int Rm, int rotate) {
    mTarget->UXTB16(cc, Rd, Rm, rotate);
}

void ARMAssemblerProxy::UBFX(int cc, int Rd, int Rn, int lsb, int width) {
    mTarget->UBFX(cc, Rd, Rn, lsb, width);
}

}; // namespace android
+1 −0
Original line number Diff line number Diff line
@@ -115,6 +115,7 @@ public:
                int Rd, int Rm, int Rs, int Rn);

    virtual void UXTB16(int cc, int Rd, int Rm, int rotate);
    virtual void UBFX(int cc, int Rd, int Rn, int lsb, int width);

private:
    ARMAssemblerInterface*  mTarget;
Loading