[Bug target/40067] use brz instead of cmp/be with 32-bit values

2009-05-08 Thread ebotcazou at gcc dot gnu dot org


--- Comment #2 from ebotcazou at gcc dot gnu dot org  2009-05-08 10:17 
---
brz is not used because *ptr is an int, it would be used with a long.


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement
 Status|UNCONFIRMED |NEW
  Component|middle-end  |target
 Ever Confirmed|0   |1
 GCC target triplet|sparc-sun-solaris2.10   |sparc64-sun-solaris2.10
   Last reconfirmed|-00-00 00:00:00 |2009-05-08 10:17:51
   date||
Summary|gcc should use brz(brnz)|use brz instead of cmp/be
   |instead of cmp/be(bne) when |with 32-bit values
   |possible|


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



[Bug target/40067] use brz instead of cmp/be with 32-bit values

2009-05-08 Thread scovich at gmail dot com


--- Comment #3 from scovich at gmail dot com  2009-05-08 11:30 ---
   What|Removed |Added

 GCC target triplet|sparc-sun-solaris2.10   |sparc64-sun-solaris2.10

I think this affects 32-bit sparc as well, unless the br* instructions are new
in sparcv9 (they don't seem to be). The only difference with v9 seems to be
that 32-bit code needs to use ldsw to sign-extend if needed.


-- 


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



[Bug target/40067] use brz instead of cmp/be with 32-bit values

2009-05-08 Thread ebotcazou at gcc dot gnu dot org


--- Comment #4 from ebotcazou at gcc dot gnu dot org  2009-05-08 15:06 
---
 I think this affects 32-bit sparc as well, unless the br* instructions are new
 in sparcv9 (they don't seem to be).

Yes, they are new in V9 and operate only on the full 64-bit register.


-- 


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