It's used by MS headers in VS 2017 without including intrin.h, so we can't implement it in the header anymore.
Details
Diff Detail
Event Timeline
lib/CodeGen/CGBuiltin.cpp | ||
---|---|---|
570 | Can you comment that this shifts the relevant bit into the low bit, truncates to i8, and then tests the low bit? At first I was thinking "of course, we just do AND %old, $constant to test the bit". Do we successfully pattern match this idiom to lock bts? Is there a pattern match we should target? |
Add comment.
lib/CodeGen/CGBuiltin.cpp | ||
---|---|---|
570 | Added the comment. No, we generate horrible code for this, but it's the same as we did for the inline version in intrin.h. We have BTS instructions in the .td file, but no patterns for them. I thought a bit about adding a pattern match for this, but I'm not sure it would be worth the effort. |
Can you comment that this shifts the relevant bit into the low bit, truncates to i8, and then tests the low bit? At first I was thinking "of course, we just do AND %old, $constant to test the bit".
Do we successfully pattern match this idiom to lock bts? Is there a pattern match we should target?