]> gcc.gnu.org Git - gcc.git/commit
avr.md - Tweak xor insn constraints.
authorGeorg-Johann Lay <avr@gjlay.de>
Mon, 18 Mar 2024 07:50:02 +0000 (08:50 +0100)
committerGeorg-Johann Lay <avr@gjlay.de>
Mon, 18 Mar 2024 07:51:59 +0000 (08:51 +0100)
commit9361f19e081294b04e16ac2f6056b3b910f27ff4
treef11a21c0e3a5f4c2bed2f76a3982b93875589f7f
parent58753dba800de14144785199fd710e9b00544155
avr.md - Tweak xor insn constraints.

xor insn can handle some more values without the requirement of a
scratch register.  This patch adds a new constraint alternative for
such values.  The output function avr_out_bitop already handles
these cases, so no change is needed there.

gcc/
* config/avr/constraints.md (CX2, CX3, CX4): New constraints.
* config/avr/avr-protos.h (avr_xor_noclobber_dconst): New proto.
* config/avr/avr.cc (avr_xor_noclobber_dconst): New function.
* config/avr/avr.md (xorhi3, *xorhi3): Add "d,0,CX2,X" alternative.
(xorpsi3, *xorpsi3): Add "d,0,CX3,X" alternative.
(xorsi3, *xorsi3): Add "d,0,CX4,X" alternative.
gcc/config/avr/avr-protos.h
gcc/config/avr/avr.cc
gcc/config/avr/avr.md
gcc/config/avr/constraints.md
This page took 0.058071 seconds and 5 git commands to generate.