On Thu, Mar 07, 2024 at 11:46:54PM +0100, Uros Bizjak wrote: > > Can't you just describe the dataflow then, without an unspec? An unspec > > by definition does some (unspecified) operation on the data. > > Previously, it was defined as: > > (define_insn "*pushfl<mode>2" > [(set (match_operand:W 0 "push_operand" "=<") > (match_operand:W 1 "flags_reg_operand"))] > > But Wmode, AKA SI/DImode is not CCmode. And as said in my last > message, nothing prevents current source code to try to update the CC > register here.
So you can use an unspec just to convert the flags reg to an integer? To make an integer representation of flags reg contents. Or is that what we started with here? Segher