Canonicalization of compares performed as side-effect operations
Eric Botcazou
ebotcazou@adacore.com
Tue Aug 6 18:24:00 GMT 2019
> Why is it incorrect? It's not canonical, sure. But the cannonical form
> does NOT describe what the instruction does.
Yes, you run into this when you try to be clever with the carry. For the
Visium port I kludged around it by using:
[(set (reg:CCC R_FLAGS)
(compare:CCC (not:I (match_operand:I 0 "register_operand" "r"))
(const_int -1)))]
and recognizing the -1 in SELECT_CC_MODE. Obviously cumbersome though.
--
Eric Botcazou
More information about the Gcc-patches
mailing list