tree d1f593ea9ffebc3a22b227ebbf87a6c22322fcfb
parent 84a5435db63f43ec3f4abbb42eda2674dd35cda9
author zhijian lin <zhijian@ca.ibm.com> 1746023949 -0400
committer GitHub <noreply@github.com> 1746023949 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJoEjYNCRC1aQ7uu5UhlAAA1aEQAC70SRgFXQLEMWvXvkA11y+Z
 hGIbp248kfMLSPRuWqcdksAFXKmIbrY4iGbTmEWPvG1Ifilfg4kCxhOqHC9NaxJz
 9d/AgHnAUQINj/Fsv508Vof4HRaB9d8eVCJbLPI+7ygBpkRTRzlssIpbA3I8xaVC
 WZhgBKwpty3zbM1X5cwhsZOJH+l2KBw+rnK5m2ivNZ9GhSo+wYxW5RT0rORxoTXi
 bn5L97/rqtNx8pLAWc4wV16Uc7YiZfHET1udLDqZ30OY2op4QX9+FTDOq4Of0Iyq
 jciw2WkU1dW3PN2Lsm5uDl/LhCT1fvDClY6i5dqIZmx4aH1CRTqs8XmKS5+HSvNL
 45mzWOsIacbnGPuzgv/PYJI0F5CKwnUZfHxwCf29W8IJA7kRtZtJtPg9pJIpH7HR
 T8T3Z6vGM3TP4j3AC14ZVBd6WARw/XXjIO2ru1RCEcJnaBj15LF6Jn91X2LDHEo2
 t4gCfd3JrEL/ucWLcp7Gp+mPwvCfaQ+w3nucAksJ4/JCTeB4x8WolaoTy7XscPvL
 wN/LtvBBCjIEqLRI6OUJOz8ZNvWt7xshQGvXTei4s9/JZTykKq9zeh9Wq4Fpn0e2
 /YtAdiqEkfvbczI7JF0wGFUFlm/HWj5fORB6XE2wwWTbd9Iy1UdfncD0oybCWACW
 XzFWhO8M4mJYxHV+9b/X
 =sBIr
 -----END PGP SIGNATURE-----
 

[PowerPC] Fix an LowerADDSUBO_CARRY error when converting carry bit for usubo_carry (#137809)

In PowerPC, if a borrow occurs during a subtraction, the carry bit is
zero (unset). The carry bit is set if no borrow occurs.

For ISD::USUBO_CARRY, the nodes produce two results: the normal result
of the addition or subtraction, and a boolean value that is 1 if and
only if there is an outgoing carry or borrow.

Therefore, we need to convert a 1 (which indicates a borrow in
ISD::USUBO_CARRY) to 0 to match PowerPC's definition of borrow.
Similarly, we need to convert a 0 (no borrow in ISD::USUBO_CARRY) to 1
for PowerPC.

To perform this conversion, we use XOR 1 instead of XOR
DAG.getAllOnesConstant(DL, CarryOp.getValueType()).

`