]> git.ipfire.org Git - thirdparty/gcc.git/commit
arm.c (arm_sat_operator_match): New function.
authorUlrich Weigand <ulrich.weigand@linaro.org>
Fri, 2 Mar 2012 17:08:55 +0000 (17:08 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Fri, 2 Mar 2012 17:08:55 +0000 (17:08 +0000)
commit5d216c70d980e3169b42e9734cf4bea1648ff8f0
tree54e677187e260d409904d535adb7790396d04961
parent2b57045bfc0c746c5bbc952cf8a4da70548b5775
arm.c (arm_sat_operator_match): New function.

gcc/
* config/arm/arm.c (arm_sat_operator_match): New function.
* config/arm/arm-protos.h (arm_sat_operator_match): Add prototype.
* config/arm/arm.md ("insn" attribute): Add "sat" value.
("SAT", "SATrev"): New code iterators.
("SATlo", "SAThi"): New code iterator attributes.
("*satsi_<SAT:code>"): New pattern.
("*satsi_<SAT:code>_shift"): Likewise.
* config/arm/arm-fixed.md ("arm_ssatsihi_shift"): Add "insn"
and "shift" attributes.
("arm_usatsihi"): Add "insn" attribute.
* config/arm/predicates.md (sat_shift_operator): Allow multiplication
by powers of two.  Do not allow shift by 32.

gcc/testsuite/
* gcc.target/arm/sat-1.c: New test.

From-SVN: r184803
gcc/ChangeLog
gcc/config/arm/arm-fixed.md
gcc/config/arm/arm-protos.h
gcc/config/arm/arm.c
gcc/config/arm/arm.md
gcc/config/arm/predicates.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/sat-1.c [new file with mode: 0644]