------- Comment #3 from hjl dot tools at gmail dot com  2010-09-11 13:49 -------
(In reply to comment #2)
> GCC snapshot has regressed compared to gcc-4.5:
> 
> #include <assert.h>
> #include <stdint.h>
> 
> #define LIKELY(x)   __builtin_expect(!!(x), 1)
> #define UNLIKELY(x) __builtin_expect(!!(x), 0)
> 
> register uint32_t *Iptr __asm__("rbp");
> 
> typedef void (*inst_t)(uint64_t types, uint64_t a, uint64_t b);
> 
> __attribute__ ((noinline)) void dec_helper(uint64_t types, uint64_t a, 
> uint64_t
> b) {
>   assert("FIXME"=="");
> }
> 
> void dec(uint64_t types, uint64_t a, uint64_t b) {
>   if (LIKELY((types & 0xFF) == 1)) {
>     uint32_t next = Iptr[1];
>     --a;
>     ++Iptr;
>     ((inst_t) (uint64_t) next)(types, a, b);
>   } else dec_helper(types, a, b);
> }

This is caused by revision 160124:

http://gcc.gnu.org/ml/gcc-cvs/2010-06/msg00036.html


-- 

hjl dot tools at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44281

Reply via email to