https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82170

Segher Boessenkool <segher at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|x86_64-*-*                  |x86_64-*-*, powerpc*-*-*
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2017-09-14
                 CC|                            |segher at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #9 from Segher Boessenkool <segher at gcc dot gnu.org> ---
For range tests, one of the first things the tree optimisers do (in
003t.original) is change  (a <= x && x < b)  into  (x - a u< b - a)
(where u< is unsigned compare).  And this in as narrow a type as
possible.

This survives all the way through the gimple optimisers.  There is
no way combine can deal with this in general.

Maybe there should be a separate EXPR for range tests?

(The generated code looks relatively *good* on x86, btw ;-) )

Reply via email to