D100244 missed a check on the ResNo of the extract's operand 0 when finding a
pair of extracts to combine into a VMOVRRD (extract(x, n); extract(x, n+1) ->
VMOVRRD(extract x, n/2)). As a result, it can incorrectly pair an extract(x, n)
with another extract(x:3, n+1) for example. This patch fixes the bug by adding
the proper check on ResNo.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Oh yeah. That makes sense. LGTM
llvm/test/CodeGen/ARM/vector-extract.ll | ||
---|---|---|
1 | Can you run update_test_checks on this file, to show the entire assembly output. |
llvm/test/CodeGen/ARM/vector-extract.ll | ||
---|---|---|
1 | Thanks for the comment. I have updated the test in the latest revision. |
Can you run update_test_checks on this file, to show the entire assembly output.
It may be better to use a less old triple too. Maybe armv7a-none-eabi.