I'll take a look, Paul, thanks. It hadn't occurred to me to compare different machines' uses. -+- Sid On Thu, Mar 23, 2023 at 10:29 AM Paul Koning wrote: > > > > On Mar 23, 2023, at 10:13 AM, Sid Maxwell via Gcc > wrote: > > > > Thanks for reaching out, Julian, I greatly appreciate your help. Please > > forgive and over- or under-sharing. If I've left something out, please > let > > me know. > > > > From my pdp10.md: > > > > ;; JIRA sw_gcc-68. gcc recognizes the "movmemhi" 'instruction' for > > ;; doing block moves, as in struct assignment. This pattern wasn't > > ;; present, however. I've added it, and it's companion function > > ;; pdp10_expand_movmemhi(). > > > > (define_expand "movmemhi" > > [(match_operand:BLK 0 "general_operand" "=r") > > (match_operand:BLK 1 "general_operand" "=r") > > (match_operand:SI 2 "general_operand" "=r") > > (match_operand:SI 3 "const_int_operand" "") > > ]... > > I don't remember that far back, but looking at current examples (like > vax.md) that seems like an odd pattern. vax.md has a three operand pattern > with the first two marked as "memory_operand" and only the first one has > the = modifier on it showing it's an output operand. > > What does the 4.3 version of gccint say about it? Or the 4.3 version of > vax.md? > > paul > >