aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Support/CommandLineTest.cpp
diff options
context:
space:
mode:
authorLU-JOHN <John.Lu@amd.com>2025-09-25 13:08:30 -0500
committerGitHub <noreply@github.com>2025-09-25 13:08:30 -0500
commitc3cbd27d005b86ea5c5a375c21b86e6c2110e198 (patch)
treebd13f52514c8be8854f4d0a61f9b1697e0a1582f /llvm/unittests/Support/CommandLineTest.cpp
parent62660e59d9365a2c77724c7cf05986eef7c2354a (diff)
downloadllvm-c3cbd27d005b86ea5c5a375c21b86e6c2110e198.zip
llvm-c3cbd27d005b86ea5c5a375c21b86e6c2110e198.tar.gz
llvm-c3cbd27d005b86ea5c5a375c21b86e6c2110e198.tar.bz2
[AMDGPU] Calc IsVALU correctly during UADDO/USUBO selection (#159814)
Fix two bugs. The first bug hid the second bug. 1. Calculate IsVALU correctly during UADDO/USUBO selection. IsVALU should be false if the carryout users are UADDO_CARRY/USUBO_CARRY. However instruction selection visits uses before defs, so the UADDO_CARRY/USUBO_CARRY nodes are normally (probably always) already converted to S_ADD_CO_PSEUDO/S_SUB_CO_PSEUDO. Fix to check for these machine opcodes. 2. Without this fix, UADDO/USUBO selection will always select the VALU instructions V_ADD_CO__U32_e64/V_SUB_CO_U32_e64. S_UADDO_PSEUDO/S_USUBO_PSEUDO were never selected in the CodeGen/AMDGPU tests. Thus, S_UADDO_PSEUDO/S_USUBO_PSEUDO cases were never hit in EmitInstrWithCustomInserter. The code generation for S_UADDO_PSEUDO/S_USUBO_PSEUDO had a bug where it could not handle code generation for 32-bit $scc_out. --------- Signed-off-by: John Lu <John.Lu@amd.com> Co-authored-by: Matt Arsenault <arsenm2@gmail.com>
Diffstat (limited to 'llvm/unittests/Support/CommandLineTest.cpp')
0 files changed, 0 insertions, 0 deletions