The code in SelectionDAG did not handle the case where the
register type and output types were different, but had the same size.
Details
Diff Detail
Event Timeline
test/CodeGen/AMDGPU/inline-asm.ll | ||
---|---|---|
50 | Shouldn't this have an i1 return type? |
test/CodeGen/AMDGPU/inline-asm.ll | ||
---|---|---|
50 | No, this test case comes from an inline asm implementation of hsail's activelanemask. I need to return a mask containing the true/false values for each thread. If I use i1, I will need to sign extend the value in order to store it, and I will get either 0 or -1 instead of the lane mask. |
test/CodeGen/AMDGPU/inline-asm.ll | ||
---|---|---|
50 | Should probably add another testcase where it does use i1 then |
test/CodeGen/AMDGPU/inline-asm.ll | ||
---|---|---|
50 | There is a different bug that prevents the i1 test from working, so I'll attach the test case to the fix for that bug. |
Looks reasonable. Can you comment the function a bit as well so that the logic is more clear? (And commit when you've done so)
Thanks!
-eric
Shouldn't this have an i1 return type?