All of lore.kernel.org
 help / color / mirror / Atom feed
From: Scott Wood <scottwood@freescale.com>
To: Timur Tabi <timur.tabi-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	wd-ynQEQJNshbs@public.gmane.org,
	dzu-ynQEQJNshbs@public.gmane.org,
	John Rigby <jrigby-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org,
	yorksun-KZfg59tc24xl57MIdRCFDg@public.gmane.org
Subject: Re: [PATCH 3/5] powerpc/mpc5121: shared DIU framebuffer support
Date: Fri, 30 Apr 2010 20:40:12 +0000	[thread overview]
Message-ID: <4BDB402C.9080301@freescale.com> (raw)
In-Reply-To: <r2sed82fe3e1004301118xc52b46cfi879de534283fd51-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Timur Tabi wrote:
> On Fri, Apr 30, 2010 at 11:22 AM, Scott Wood <scottwood@freescale.com> wrote:
> 
>>> That's what I meant.  Actually, I think it's ULL.  Regardless, I think
>>> the compiler will see the  "1000000000 ... * 1000" and just combine
>>> them together.  You're not actually outsmarting the compiler.
>> The compiler will do no such thing.  That's a valid transformation when
>> doing pure math, but not when working with integers.
> 
> I ran some tests, and it appears you're right.  I doesn't make a lot
> of sense to me, but whatever.
> 
> However, "(1000000000 / pixclock) * 1000" produces a result that's
> less accurate than "1000000000000ULL / pixclock".

Precisely, that's what makes it a distinct computation -- as far as the 
compiler knows, it could be intentional.  Plus, turning it into 64-bit 
math would invoke a library call for 64-bit division, which wouldn't be 
much of an optimization anyway.

The question is whether the loss of accuracy matters in this case.

>>>     err = -1;
>>>
>>> because he wanted it to be the largest possible integer.
>> -1 is not the largest possible integer.  LONG_MAX, perhaps?
> 
> What, you don't like implicit casting of -1 to an unsigned? :-)

I like it even less when the variable is signed and it's still supposed 
to be larger than positive numbers. :-)

-Scott


WARNING: multiple messages have this Message-ID (diff)
From: Scott Wood <scottwood@freescale.com>
To: Timur Tabi <timur.tabi@gmail.com>
Cc: linux-fbdev@vger.kernel.org, wd@denx.de, dzu@denx.de,
	John Rigby <jrigby@gmail.com>,
	devicetree-discuss@lists.ozlabs.org, linuxppc-dev@ozlabs.org,
	Anatolij Gustschin <agust@denx.de>,
	yorksun@freescale.com
Subject: Re: [PATCH 3/5] powerpc/mpc5121: shared DIU framebuffer support
Date: Fri, 30 Apr 2010 15:40:12 -0500	[thread overview]
Message-ID: <4BDB402C.9080301@freescale.com> (raw)
In-Reply-To: <r2sed82fe3e1004301118xc52b46cfi879de534283fd51@mail.gmail.com>

Timur Tabi wrote:
> On Fri, Apr 30, 2010 at 11:22 AM, Scott Wood <scottwood@freescale.com> wrote:
> 
>>> That's what I meant.  Actually, I think it's ULL.  Regardless, I think
>>> the compiler will see the  "1000000000 ... * 1000" and just combine
>>> them together.  You're not actually outsmarting the compiler.
>> The compiler will do no such thing.  That's a valid transformation when
>> doing pure math, but not when working with integers.
> 
> I ran some tests, and it appears you're right.  I doesn't make a lot
> of sense to me, but whatever.
> 
> However, "(1000000000 / pixclock) * 1000" produces a result that's
> less accurate than "1000000000000ULL / pixclock".

Precisely, that's what makes it a distinct computation -- as far as the 
compiler knows, it could be intentional.  Plus, turning it into 64-bit 
math would invoke a library call for 64-bit division, which wouldn't be 
much of an optimization anyway.

The question is whether the loss of accuracy matters in this case.

>>>     err = -1;
>>>
>>> because he wanted it to be the largest possible integer.
>> -1 is not the largest possible integer.  LONG_MAX, perhaps?
> 
> What, you don't like implicit casting of -1 to an unsigned? :-)

I like it even less when the variable is signed and it's still supposed 
to be larger than positive numbers. :-)

-Scott

WARNING: multiple messages have this Message-ID (diff)
From: Scott Wood <scottwood-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
To: Timur Tabi <timur.tabi-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	wd-ynQEQJNshbs@public.gmane.org,
	dzu-ynQEQJNshbs@public.gmane.org,
	John Rigby <jrigby-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org,
	yorksun-KZfg59tc24xl57MIdRCFDg@public.gmane.org
Subject: Re: [PATCH 3/5] powerpc/mpc5121: shared DIU framebuffer support
Date: Fri, 30 Apr 2010 15:40:12 -0500	[thread overview]
Message-ID: <4BDB402C.9080301@freescale.com> (raw)
In-Reply-To: <r2sed82fe3e1004301118xc52b46cfi879de534283fd51-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Timur Tabi wrote:
> On Fri, Apr 30, 2010 at 11:22 AM, Scott Wood <scottwood-KZfg59tc24xl57MIdRCFDg@public.gmane.org> wrote:
> 
>>> That's what I meant.  Actually, I think it's ULL.  Regardless, I think
>>> the compiler will see the  "1000000000 ... * 1000" and just combine
>>> them together.  You're not actually outsmarting the compiler.
>> The compiler will do no such thing.  That's a valid transformation when
>> doing pure math, but not when working with integers.
> 
> I ran some tests, and it appears you're right.  I doesn't make a lot
> of sense to me, but whatever.
> 
> However, "(1000000000 / pixclock) * 1000" produces a result that's
> less accurate than "1000000000000ULL / pixclock".

Precisely, that's what makes it a distinct computation -- as far as the 
compiler knows, it could be intentional.  Plus, turning it into 64-bit 
math would invoke a library call for 64-bit division, which wouldn't be 
much of an optimization anyway.

The question is whether the loss of accuracy matters in this case.

>>>     err = -1;
>>>
>>> because he wanted it to be the largest possible integer.
>> -1 is not the largest possible integer.  LONG_MAX, perhaps?
> 
> What, you don't like implicit casting of -1 to an unsigned? :-)

I like it even less when the variable is signed and it's still supposed 
to be larger than positive numbers. :-)

-Scott

  parent reply	other threads:[~2010-04-30 20:40 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-29 23:49 [PATCH 0/5] Rework MPC5121 DIU support (for 2.6.35) Anatolij Gustschin
2010-04-29 23:49 ` Anatolij Gustschin
2010-04-29 23:49 ` [PATCH 1/5] fsl-diu-fb: fix issue with re-enabling DIU area descriptor on MPC5121 Anatolij Gustschin
2010-04-29 23:49   ` Anatolij Gustschin
     [not found] ` <1272584978-19063-1-git-send-email-agust-ynQEQJNshbs@public.gmane.org>
2010-04-29 23:49   ` [PATCH 2/5] fsl-diu-fb: move fsl-diu-fb.h to include/linux Anatolij Gustschin
2010-04-29 23:49     ` Anatolij Gustschin
2010-04-29 23:49     ` Anatolij Gustschin
2010-06-22 16:29   ` [PATCH 0/5] Rework MPC5121 DIU support (for 2.6.35) Timur Tabi
2010-06-22 16:29     ` Timur Tabi
2010-06-22 16:29     ` Timur Tabi
     [not found]     ` <AANLkTil0-hijJOvosWUEArVUOLDb_kLWIhfflj2C9pIK-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-22 22:03       ` Anatolij Gustschin
2010-06-22 22:03         ` Anatolij Gustschin
2010-06-22 22:03         ` Anatolij Gustschin
2010-04-29 23:49 ` [PATCH 3/5] powerpc/mpc5121: shared DIU framebuffer support Anatolij Gustschin
2010-04-29 23:49   ` Anatolij Gustschin
2010-04-30  2:05   ` Timur Tabi
2010-04-30  2:05     ` Timur Tabi
2010-04-30  2:05     ` Timur Tabi
2010-04-30 10:19     ` Anatolij Gustschin
2010-04-30 10:19       ` Anatolij Gustschin
2010-04-30 10:19       ` Anatolij Gustschin
2010-04-30 15:08       ` Timur Tabi
2010-04-30 15:08         ` Timur Tabi
2010-04-30 15:08         ` Timur Tabi
     [not found]         ` <x2ned82fe3e1004300808q757826cs864ac1c7c082f81-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-04-30 16:22           ` Scott Wood
2010-04-30 16:22             ` Scott Wood
2010-04-30 16:22             ` Scott Wood
     [not found]             ` <20100430162254.GA24285-1MYqz8GpK7RekFaExTCHk1jVikpgYyvb5NbjCUgZEJk@public.gmane.org>
2010-04-30 18:18               ` Timur Tabi
2010-04-30 18:18                 ` Timur Tabi
2010-04-30 18:18                 ` Timur Tabi
     [not found]                 ` <r2sed82fe3e1004301118xc52b46cfi879de534283fd51-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-04-30 20:40                   ` Scott Wood [this message]
2010-04-30 20:40                     ` Scott Wood
2010-04-30 20:40                     ` Scott Wood
     [not found]                     ` <4BDB402C.9080301-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2010-05-01 15:15                       ` Anatolij Gustschin
2010-05-01 15:15                         ` Anatolij Gustschin
2010-05-01 15:15                         ` Anatolij Gustschin
2010-04-30 17:00           ` Anatolij Gustschin
2010-04-30 17:00             ` Anatolij Gustschin
2010-04-30 17:00             ` Anatolij Gustschin
2010-04-30 18:29             ` Timur Tabi
2010-04-30 18:29               ` Timur Tabi
2010-04-30 10:40   ` [PATCH v2 " Anatolij Gustschin
2010-04-30 10:40     ` Anatolij Gustschin
2010-05-03 10:49     ` [PATCH v3 " Anatolij Gustschin
2010-05-03 10:49       ` Anatolij Gustschin
2010-04-29 23:49 ` [PATCH 4/5] powerpc: doc/dts-bindings: update doc of FSL DIU bindings Anatolij Gustschin
2010-04-29 23:49   ` Anatolij Gustschin
2010-04-29 23:49 ` [PATCH 5/5] fsl-diu-fb: Support setting display mode using EDID Anatolij Gustschin
2010-04-29 23:49   ` Anatolij Gustschin
2010-04-30  1:44   ` Timur Tabi
2010-04-30  1:44     ` Timur Tabi
2010-04-30  1:44     ` Timur Tabi
2010-04-30  7:43     ` Anatolij Gustschin
2010-04-30  7:43       ` Anatolij Gustschin
2010-04-30  7:43       ` Anatolij Gustschin
2010-04-30  8:09   ` [PATCH v2 " Anatolij Gustschin
2010-04-30  8:09     ` Anatolij Gustschin
2010-04-30  1:39 ` [PATCH 0/5] Rework MPC5121 DIU support (for 2.6.35) Timur Tabi
2010-04-30  1:39   ` Timur Tabi
2010-04-30  7:41   ` Anatolij Gustschin
2010-04-30  7:41     ` Anatolij Gustschin
     [not found]   ` <y2med82fe3e1004291839m92dea081o6a46dc307e07c4ad-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-01  9:38     ` Anatolij Gustschin
2010-06-01  9:38       ` Anatolij Gustschin
2010-06-01  9:38       ` Anatolij Gustschin
2010-06-04 15:46       ` Timur Tabi
2010-06-04 15:46         ` Timur Tabi
2010-06-04 15:46         ` Timur Tabi
     [not found]         ` <AANLkTims596hCnLgN5Po6nS1bRFxKywEDlBA4mlreciV-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-16  7:38           ` Anatolij Gustschin
2010-06-16  7:38             ` Anatolij Gustschin
2010-06-16  7:38             ` Anatolij Gustschin
2010-06-16 15:42             ` Timur Tabi
2010-06-16 15:42               ` Timur Tabi
2010-06-16 15:42               ` Timur Tabi
     [not found]               ` <4C18F0E4.90309-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2010-06-16 15:47                 ` Anatolij Gustschin
2010-06-16 15:47                   ` Anatolij Gustschin
2010-06-16 15:47                   ` Anatolij Gustschin
2010-06-16 16:26                   ` Timur Tabi
2010-06-16 16:26                     ` Timur Tabi
2010-06-16 17:34                     ` Wolfram Sang
2010-06-16 17:34                       ` Wolfram Sang
2010-06-16 17:34                       ` Wolfram Sang
     [not found]                     ` <4C18FB3F.4020705-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2010-06-16 20:00                       ` Anatolij Gustschin
2010-06-16 20:00                         ` Anatolij Gustschin
2010-06-16 20:00                         ` Anatolij Gustschin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BDB402C.9080301@freescale.com \
    --to=scottwood@freescale.com \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=dzu-ynQEQJNshbs@public.gmane.org \
    --cc=jrigby-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org \
    --cc=timur.tabi-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=wd-ynQEQJNshbs@public.gmane.org \
    --cc=yorksun-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.