{3, 3, 3, 3, 3}, /* cost of storing SSE registers
in 32,64,128,256 and 512-bit */
3, 3, /* SSE->integer and integer->SSE moves */
+ 2, 2, /* mask->integer and integer->mask moves */
+ {2, 2, 2}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {2, 2, 2}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{4, 8, 16, 32, 64}, /* cost of storing SSE registers
in 32,64,128,256 and 512-bit */
3, 3, /* SSE->integer and integer->SSE moves */
+ 2, 2, /* mask->integer and integer->mask moves */
+ {2, 4, 2}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {2, 4, 2}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{4, 8, 16, 32, 64}, /* cost of storing SSE registers
in 32,64,128,256 and 512-bit */
3, 3, /* SSE->integer and integer->SSE moves */
+ 2, 2, /* mask->integer and integer->mask moves */
+ {2, 4, 2}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {2, 4, 2}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{4, 8, 16, 32, 64}, /* cost of storing SSE registers
in 32,64,128,256 and 512-bit */
3, 3, /* SSE->integer and integer->SSE moves */
+ 2, 2, /* mask->integer and integer->mask moves */
+ {2, 4, 2}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {2, 4, 2}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{4, 8, 16, 32, 64}, /* cost of storing SSE registers
in 32,64,128,256 and 512-bit */
3, 3, /* SSE->integer and integer->SSE moves */
+ 2, 2, /* mask->integer and integer->mask moves */
+ {2, 4, 2}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {2, 4, 2}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{4, 8, 16, 32, 64}, /* cost of storing SSE registers
in 32,64,128,256 and 512-bit */
3, 3, /* SSE->integer and integer->SSE moves */
+ 2, 2, /* mask->integer and integer->mask moves */
+ {4, 4, 4}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {2, 2, 2}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{2, 2, 8, 16, 32}, /* 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 */
+ {2, 2, 2}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {2, 2, 2}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{2, 2, 8, 16, 32}, /* 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, 5, 4}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {2, 3, 2}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{4, 4, 10, 10, 20}, /* cost of storing SSE registers
in 32,64,128,256 and 512-bit */
5, 5, /* SSE->integer and integer->SSE moves */
+ 2, 2, /* mask->integer and integer->mask moves */
+ {3, 4, 3}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {3, 4, 3}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{4, 4, 10, 10, 20}, /* cost of storing SSE registers
in 32,64,128,256 and 512-bit */
5, 5, /* SSE->integer and integer->SSE moves */
+ 2, 2, /* mask->integer and integer->mask moves */
+ {3, 4, 3}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {3, 4, 3}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{4, 4, 5, 10, 20}, /* cost of storing SSE registers
in 32,64,128,256 and 512-bit */
3, 3, /* SSE->integer and integer->SSE moves */
+ 2, 2, /* mask->integer and integer->mask moves */
+ {3, 4, 3}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {3, 4, 3}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* On K8:
MOVD reg64, xmmreg Double FSTORE 4
{10, 10, 10, 40, 60}, /* cost of storing SSE registers
in 32,64,128,256 and 512-bit */
16, 20, /* SSE->integer and integer->SSE moves */
+ 2, 2, /* mask->integer and integer->mask moves */
+ {8, 8, 8}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {8, 8, 8}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{8, 8, 8, 16, 32}, /* 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 */
+ {6, 6, 6}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {8, 8, 8}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
in 32,64,128,256 and 512-bit. */
6, 6, /* SSE->integer and integer->SSE
moves. */
+ 2, 2, /* mask->integer and integer->mask moves */
+ {6, 6, 6}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {8, 8, 8}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{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
+ in QImode, HImode, SImode. */
+ {6, 6, 6}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{10, 10, 12, 48, 96}, /* cost of storing SSE registers
in 32,64,128,256 and 512-bit */
14, 14, /* SSE->integer and integer->SSE moves */
+ 2, 2, /* mask->integer and integer->mask moves */
+ {6, 8, 6}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {6, 8, 6}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{10, 10, 12, 48, 96}, /* cost of storing SSE registers
in 32,64,128,256 and 512-bit */
14, 14, /* SSE->integer and integer->SSE moves */
+ 2, 2, /* mask->integer and integer->mask moves */
+ {8, 8, 6}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {8, 8, 6}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{16, 16, 16, 32, 64}, /* cost of storing SSE registers
in 32,64,128,256 and 512-bit */
20, 12, /* SSE->integer and integer->SSE moves */
+ 2, 2, /* mask->integer and integer->mask moves */
+ {4, 5, 4}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {2, 3, 2}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{12, 12, 12, 24, 48}, /* cost of storing SSE registers
in 32,64,128,256 and 512-bit */
20, 12, /* SSE->integer and integer->SSE moves */
+ 2, 2, /* mask->integer and integer->mask moves */
+ {4, 4, 4}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {4, 4, 4}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{8, 8, 8, 16, 32}, /* cost of storing SSE registers
in 32,64,128,256 and 512-bit */
8, 6, /* SSE->integer and integer->SSE moves */
+ 2, 2, /* 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
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{8, 8, 8, 16, 32}, /* cost of storing SSE registers
in 32,64,128,256 and 512-bit */
8, 6, /* SSE->integer and integer->SSE moves */
+ 2, 2, /* mask->integer and integer->mask moves */
+ {8, 8, 8}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {6, 6, 6}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{6, 6, 6, 6, 6}, /* cost of storing SSE registers
in 32,64,128,256 and 512-bit */
4, 4, /* SSE->integer and integer->SSE moves */
+ 2, 2, /* mask->integer and integer->mask moves */
+ {4, 4, 4}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {6, 6, 6}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{6, 6, 6, 10, 15}, /* 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 */
+ {6, 6, 6}, /* cost of loading mask register
+ in QImode, HImode, SImode. */
+ {6, 6, 6}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},
{6, 6, 6, 6, 12}, /* 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
+ in QImode, HImode, SImode. */
+ {6, 6, 6}, /* cost if storing mask register
+ in QImode, HImode, SImode. */
+ 2, /* cost of moving mask register. */
/* End of register allocator costs. */
},