X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=arm%2Fneon_normalxx.Sinc;h=0546ac268a4dcd7e706307996134d12f4cc72919;hb=afdbb7c87325a4a6280943564da2e9e19cefc55b;hp=fcbcfd48ab8f2759580ce66b2a6941bab7155baa;hpb=7fc3ac8a09642992b62a9c3ab5df0f52ac4e8fee;p=libpicofe.git diff --git a/arm/neon_normalxx.Sinc b/arm/neon_normalxx.Sinc index fcbcfd4..0546ac2 100644 --- a/arm/neon_normalxx.Sinc +++ b/arm/neon_normalxx.Sinc @@ -21,6 +21,29 @@ @@ +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) +/* can't use because gas wants ',' before ':' */ +#define A128 +#define A256 +#else +#define A128 :128 +#define A256 :256 +#endif + +.macro bgr1555_to_rgb565 dr0 dr1 t0 t1 t2 + str r0, [sp, #-4] + mov r0, #0x07c0 + vshl.u16 \t0, \dr0, #11 + vshl.u16 \t1, \dr1, #11 + vshl.u16 \dr0, \dr0, #1 + vshl.u16 \dr1, \dr1, #1 + vdup.16 \t2, r0 + vsri.u16 \t0, \dr0, #11 + vsri.u16 \t1, \dr1, #11 + ldr r0, [sp, #-4] + vbif \dr0, \t0, \t2 + vbif \dr1, \t1, \t2 +.endm .macro _neon_normalxx_8_16_line_middle src, dst, pal, counter, reg1, reg2, reg3, reg4, reg5, reg6, reg7, reg8, reg9, dststride, dA, dB ldr \reg1, [\src] @ reg1 = src[0-3]