[Pixman] [PATCH 3/3] MIPS: DSPr1: Basic infrastructure for DSPr1 optimizations

Nemanja Lukic nemanja.lukic at rt-rk.com
Wed Jul 24 07:24:04 PDT 2013

Hi Siarhei,

This check (__mips_isa_rev >= 2) is just used to check for MIPS32r2 ISA
level (not DSP ISA level).
Officially MIPS cores, in order to support DSP ISA extensions (either DSPr1
or DSPr2) must have at least MIPS32r2 ISA level.

So this compile check:
#if !(defined(__mips__) && __mips_isa_rev >= 2)
#error MIPS DSPr1 is currently only available on MIPS32r2 platforms.
Is the first check that checks for MIPS32r2 ISA (as this is mandatory).
After that comes checking for the actual DSP extension level (by trying to
execute packrl.ph instruction).

So this check should stay __mips_isa_rev >= 2.

On the other hand, some MIPS-based cores, like some Broadcom SoCs, may
support DSP extensions (r1),
and those are MIPS32r1 ISA level, but this is not  regular scenario. And
also, since we are currently basing
our run-time detection for MIPS cores on parsing /proc/cpuinfo file, almost
all Broadcom cores are not 
supported by Pixman (since their kernel don't fill this file in proper way,
e.g. core model is not populated as expected).

Nemanja Lukic

-----Original Message-----
From: Siarhei Siamashka [mailto:siarhei.siamashka at gmail.com] 
Sent: Wednesday, July 24, 2013 3:50 PM
To: Nemanja Lukic
Cc: pixman at lists.freedesktop.org
Subject: Re: [Pixman] [PATCH 3/3] MIPS: DSPr1: Basic infrastructure for
DSPr1 optimizations

On Tue, 23 Jul 2013 17:42:14 +0200
Nemanja Lukic <nemanja.lukic at rt-rk.com> wrote:

>  dnl
> +dnl Check if assembler is gas compatible and supports MIPS DSPr1
> +
> +have_mips_dspr1=no
> +AC_MSG_CHECKING(whether to use MIPS DSPr1 assembler)
> +xserver_save_CFLAGS=$CFLAGS
> +CFLAGS="-mdsp $CFLAGS"
> +
> +#if !(defined(__mips__) && __mips_isa_rev >= 2)

__mips_isa_rev >= 1 ?

Best regards,
Siarhei Siamashka

More information about the Pixman mailing list