Equivalent opposite condition detection

Registered by Michael Hope on 2012-03-20

In some conditions the compiler generates a pair of conditional stores with the opposite condition codes. These could be folded into one unconditional store.

Seen in libav in vp8.e

Blueprint information

Status:
Complete
Approver:
Michael Hope
Priority:
Medium
Drafter:
Michael Hope
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
Accepted for 4.7
Implementation:
Informational Informational
Milestone target:
milestone icon backlog
Started by
Matthew Gretton-Dann on 2013-05-22
Completed by
Matthew Gretton-Dann on 2013-05-22

Related branches

Sprints

Whiteboard

The code at:
 https://wiki.linaro.org/RamanaRadhakrishnan/Sandbox/RRQ112ConnectLibavgcc46Reg

generates at -O2:
 itttt cs
 rsbcs r1, r3, r0
 rsbcs r5, r5, r2
 strcs r5, [r4, #0]
 strcs r1, [r4, #16]
 itt cc
 strcc r5, [r4, #0]
 strcc r3, [r4, #16]

So at least the str r5, [r4, #0] can be made unconditional.

[2013-05-22 matthew-gretton-dann] This has been moved to Jira: http://cards.linaro.org/browse/TCWG-69

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.