Loading libpixelflinger/codeflinger/ARMAssembler.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -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 libpixelflinger/codeflinger/ARMAssembler.h +1 −0 Original line number Diff line number Diff line Loading @@ -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); Loading libpixelflinger/codeflinger/ARMAssemblerInterface.h +3 −0 Original line number Diff line number Diff line Loading @@ -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... // ----------------------------------------------------------------------- Loading libpixelflinger/codeflinger/ARMAssemblerProxy.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -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 libpixelflinger/codeflinger/ARMAssemblerProxy.h +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
libpixelflinger/codeflinger/ARMAssembler.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -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
libpixelflinger/codeflinger/ARMAssembler.h +1 −0 Original line number Diff line number Diff line Loading @@ -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); Loading
libpixelflinger/codeflinger/ARMAssemblerInterface.h +3 −0 Original line number Diff line number Diff line Loading @@ -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... // ----------------------------------------------------------------------- Loading
libpixelflinger/codeflinger/ARMAssemblerProxy.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -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
libpixelflinger/codeflinger/ARMAssemblerProxy.h +1 −0 Original line number Diff line number Diff line Loading @@ -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