This attribute will be used in a tablegen backend that generated the X86 memory folding tables which will be added in a future pass.
Instructions with this attribute unset will be excluded from the full set of X86 instructions available for the pass.
Details
Diff Detail
Event Timeline
lib/Target/X86/X86InstrSSE.td | ||
---|---|---|
3211 | Why are AVX and SSE different here? This looks like it corresponds to things like VSQRTSSr which I see in the folding table today. |
lib/Target/X86/X86InstrSSE.td | ||
---|---|---|
3211 | The SSE version has an actual partial register update (listed under hasPartialRegUpdate function in X86InstrInfo.cpp) which is dealt with by a special handling in the folding process. |
lib/Target/X86/X86InstrSSE.td | ||
---|---|---|
3211 | I thought the goal was to make tablegen generate the equivalent of the manual table so shouldn't these instructions be included to match the table? |
The goal is to make tablegen generate the "correct" tables (according to what we define is correct).
So it's up to us to decide what will go in and out of the tables.
Why are AVX and SSE different here?
This looks like it corresponds to things like VSQRTSSr which I see in the folding table today.