llvm / llvm/llvm-project

[AMDGPU] Implement SelectVOP3OpSel

Open
#220,528 3 comments 0 reactions 0 assignees View on GitHub
backend:AMDGPU missed-optimization
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

AMDGPUDAGToDAGISel::SelectVOP3OpSel currently just says "FIXME: Handle op_sel". The effect of this is that non-packed 16-bit instructions like v_fma_f16 do not make use of op_sel to access the high half of a VGPR source. See test cases added by #219432.

Contributor guide

Open the contributing guide

Research direction

Start at AMDGPUDAGToDAGISel::SelectVOP3OpSel and inspect the FIXME about handling op_sel. Review the test cases added by #219432 to understand the expected behavior for non-packed 16-bit instructions such as v_fma_f16. Done means those instructions can use op_sel to access the high half of a VGPR source and the relevant tests pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.