Disable invalid autoinc forms for VFP
Disable the invalid auto-inc forms for VFP mode values. If a value is being loaded into a VFP register don't allow auto-inc-dec to put out a post-modify form for this address. The reason being that there is no post-modify addressing mode for VFP registers, the value will be loaded into an integer register and then moved across thereby increasing register pressure on the integer side and causing unnecessary moves from integer registers to VFP registers.
Blueprint information
- Status:
- Complete
- Approver:
- Michael Hope
- Priority:
- Medium
- Drafter:
- Ramana Radhakrishnan
- Direction:
- Approved
- Assignee:
- Ramana Radhakrishnan
- Definition:
- Approved
- Series goal:
- Accepted for 4.7
- Implementation:
- Implemented
- Milestone target:
- 4.7-2012.07
- Started by
- Ramana Radhakrishnan
- Completed by
- Ramana Radhakrishnan
Whiteboard
Also affects PRE_INC and POST_DEC as per this testcase from libav where there is a regression in performance.
void foo (float *x , float *y, float *z, float *m, int l)
{
int i;
for (i = 0; i < l ; i++)
{
z[i] = x[i] * y[i] + m[i];
}
}
Meta:
Headline: Improve auto-increment address generation for floating point values.
Acceptance: https:/
Work Items
Dependency tree
* Blueprints in grey have been implemented.