Fix for pr30418 - error in backend: Cannot select: t17: x86mmx = select_cc t2, Constant:i64<0>, t7, t8, seteq:ch
Details
Diff Detail
Event Timeline
Thanks for looking at this!
Very minor, but can you make sure that the patch title is something like "[X86][MMX] Added custom lowering action for MMX SELECT (PR30418)" and then make your current title the summary - it makes finding reviews/commits easier.
test/CodeGen/X86/pr30418.ll | ||
---|---|---|
5 ↗ | (On Diff #104054) | If possible, we need better test coverage here. Please can you rename the file select-mmx.ll, rename this test pr30418 and add filecheck and update_llc_test_checks.py codegen generation. You also need to test on a i686 triple as well since you're creating i64 values. A few extra tests wouldn't go amiss - select with non-constant mmx values for instance. |
This diff looks like it has gone bad being rebased?
test/CodeGen/X86/select-mmx.ll | ||
---|---|---|
3 | Use triples + attributes instead of arch/cpu (avoids test failure on different machines): ; RUN: llc -mtriple=x86_64-unknown-unknown -mattr=+mmx < %s | FileCheck %s --check-prefix=X64 ; RUN: llc -mtriple=i686-unknown-unknown -mattr=+mmx < %s | FileCheck %s --check-prefix=I32 |
Code now looks fine, just some further tidying up of the test cases
test/CodeGen/X86/select-mmx.ll | ||
---|---|---|
2 | You should regenerate the codegen with utils/update_llc_test_checks.py | |
12 | You can drop 'local_unnamed_addr #1' and probably add 'nonuwind' instead | |
49 | Remove the #3 | |
62 | You can drop 'local_unnamed_addr #1' and probably add 'nonuwind' instead | |
97 | Remove the #3 | |
102 | Remove the #2 |
This diff is still broken - I'm assuming it should be before this for loop and after the loop with the other SELECT/SETCC declarations?