According to instruction_tables.pdf
1. Set cost of movement inside mask registers a bit higher than gpr's. 2. Set cost of movement between mask register and gpr much higher than movement inside gpr, but still less equal than load/store. 3. Set cost of mask register load/store a bit higher than gpr load/store. gcc/ * config/i386/x86-tune-costs.h (skylake_cost): Adjust cost model.
This commit is contained in:
parent
2d2bc36c44
commit
16516644d8
@ -1727,12 +1727,12 @@ struct processor_costs skylake_cost = {
|
||||
{8, 8, 8, 12, 24}, /* cost of storing SSE registers
|
||||
in 32,64,128,256 and 512-bit */
|
||||
6, 6, /* SSE->integer and integer->SSE moves */
|
||||
2, 2, /* mask->integer and integer->mask moves */
|
||||
{4, 4, 4}, /* cost of loading mask register
|
||||
4, 6, /* mask->integer and integer->mask moves */
|
||||
{6, 6, 6}, /* cost of loading mask register
|
||||
in QImode, HImode, SImode. */
|
||||
{6, 6, 6}, /* cost if storing mask register
|
||||
{8, 8, 8}, /* cost if storing mask register
|
||||
in QImode, HImode, SImode. */
|
||||
2, /* cost of moving mask register. */
|
||||
3, /* cost of moving mask register. */
|
||||
/* End of register allocator costs. */
|
||||
},
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user