On Apr 26 2023, Patrick O'Neill wrote: > @@ -290,10 +290,10 @@ > [(set (match_operand:GPR 0 "register_operand" "=&r") > (match_operand:GPR 1 "memory_operand" "+A")) > (set (match_dup 1) > - (unspec_volatile:GPR [(match_operand:GPR 2 "reg_or_0_operand" "rJ") > - (match_operand:GPR 3 "reg_or_0_operand" "rJ") > - (match_operand:SI 4 "const_int_operand") ;; mod_s > - (match_operand:SI 5 "const_int_operand")] ;; mod_f > + (unspec_volatile:GPR[(match_operand:GPR 2 "reg_or_0_operand" "rJ") > + (match_operand:GPR 3 "reg_or_0_operand" "rJ") > + (match_operand:SI 4 "const_int_operand") ;; mod_s > + (match_operand:SI 5 "const_int_operand")] ;; mod_f
That appears to be a bug in the checker. This isn't a C array expression, but an argument in lispy vector notation, so it should be separated by a space. > @@ -431,15 +431,15 @@ > }) > > (define_insn "subword_atomic_cas_strong" > - [(set (match_operand:SI 0 "register_operand" "=&r") > ;; old value at mem > - (match_operand:SI 1 "memory_operand" "+A")) ;; > mem location > + [(set (match_operand:SI 0 "register_operand" "=&r") > ;; old value at mem > + (match_operand:SI 1 "memory_operand" "+A")) ;; > mem location > (set (match_dup 1) > - (unspec_volatile:SI [(match_operand:SI 2 "reg_or_0_operand" "rJ") ;; > expected value > - (match_operand:SI 3 "reg_or_0_operand" "rJ")] ;; > desired value > + (unspec_volatile:SI[(match_operand:SI 2 "reg_or_0_operand" "rJ") ;; > expected value > + (match_operand:SI 3 "reg_or_0_operand" "rJ")] ;; > desired value Likewise. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."