On 3/31/20 9:55 AM, Richard Sandiford wrote: >> (define_insn "cmp<mode>" >> [(set (reg:CC CC_REGNUM) >> - (compare:CC (match_operand:GPI 0 "register_operand" "rk,rk,rk") >> - (match_operand:GPI 1 "aarch64_plus_operand" "r,I,J")))] >> + (compare:CC (match_operand:GPI 0 "aarch64_reg_or_zero" "rk,rk,rkZ") >> + (match_operand:GPI 1 "aarch64_plus_operand" "I,J,rZ")))] >> "" >> "@ >> - cmp\\t%<w>0, %<w>1 >> cmp\\t%<w>0, %1 >> - cmn\\t%<w>0, #%n1" >> - [(set_attr "type" "alus_sreg,alus_imm,alus_imm")] >> + cmn\\t%<w>0, #%n1 >> + cmp\\t%<w>0, %<w>1" >> + [(set_attr "type" "alus_imm,alus_imm,alus_sreg")] >> ) >> >> (define_insn "fcmp<mode>" > > ...does adding 'Z' to operand 1 enable any new combinations?
Not useful ones, on reflection, but given it's a valid combination, it's easier to include it than not. I can certainly remove that. r~