OSDN Git Service

arm: Use arm_cmpdi_unsigned for thumb2 as well
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Dec 2011 00:34:09 +0000 (00:34 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Dec 2011 00:34:09 +0000 (00:34 +0000)
commit48a980535b8b49a32a788552eb5fffd11b66b04b
tree98c2a7e79873fca96e4f36f255f97656d57f2eb3
parent6603c8ef945a2c6531d29147bff2c5047c524d60
arm: Use arm_cmpdi_unsigned for thumb2 as well

This changes code generation from "eors; eors; orrs" (which ranges
from 6 to 12 bytes and requires three scratch registers), to
"cmp; it; cmp" (which is always 6 bytes for register inputs and
requires no scratch registers).

        * config/arm/arm.md (*arm_cmpdi_unsigned): Enable for thumb2.
        * config/arm/arm.c (arm_select_cc_mode): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182561 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/arm/arm.md