]> git.ipfire.org Git - thirdparty/gcc.git/commit
recog: Improve parser for pattern new compact syntax
authorRichard Sandiford <richard.sandiford@arm.com>
Wed, 13 Sep 2023 13:50:30 +0000 (14:50 +0100)
committerAndrea Corallo <andrea.corallo@arm.com>
Tue, 3 Oct 2023 08:39:05 +0000 (10:39 +0200)
commitdd1091fe455c1ede5993b4cdf10d0f7c461b86d7
treecfd06387313515f46c3927756b75cc6b0cadaa1a
parent41d1c9a97953b457146c1dbeea2a4f19bfbb0b6e
recog: Improve parser for pattern new compact syntax

Hi all,

this is to add support to the new compact pattern syntax for the case
where the constraints do appear unsorted like:

(define_insn "*<optab>si3_insn_uxtw"
  [(set (match_operand:DI 0 "register_operand")
        (zero_extend:DI (SHIFT_no_rotate:SI
         (match_operand:SI 1 "register_operand")
         (match_operand:QI 2 "aarch64_reg_or_shift_imm_si"))))]
  ""
  {@ [cons: =0, 2,   1]
     [      r,  Uss, r] <shift>\\t%w0, %w1, %2
     [      r,  r,   r] <shift>\\t%w0, %w1, %w2
  }
  [(set_attr "type" "bfx,shift_reg")]
)

Best Regards

  Andrea

gcc/Changelog

2023-09-20  Richard Sandiford  <richard.sandiford@arm.com>

* gensupport.cc (convert_syntax): Updated to support unordered
constraints in compact syntax.
gcc/gensupport.cc